diff --git a/CEP1/_tlk/prc8_cep1_merge.xml b/CEP1/_tlk/prc8_cep1_merge.xml index f25313e..7fab86c 100644 --- a/CEP1/_tlk/prc8_cep1_merge.xml +++ b/CEP1/_tlk/prc8_cep1_merge.xml @@ -2,7 +2,7 @@ Bad Strref - PRC8 Version Counter: 04 + PRC Version Counter: 05 Ocular Adept Ocular Adepts ocular adepts @@ -1145,7 +1145,7 @@ Level 7: Spell Fury - sudden empower spell usable once during each rage. 8: Rage +1 use/day - additional use of rage ability. 9: Tireless Rage - no longer fatigued at the end of the rage. -10: Warrior Cry - the character receives benefits of Tenser's Transformation spell, but without losing her spellcasting ability, 1/day. +10: Warrior Cry - the character receives benefits of the Tenser's Transformation spell, but without losing her spellcasting ability, 1/day. Spell Rage 3/day BONUS SPELLS @@ -1322,8 +1322,13 @@ Special: Prerequisite: Psicraft 4. Specifics: Your manifester level for the chosen class increase by +4. This can't increased your manifester level beyond your HD. (Ex: a Fighter 2 / Psion 5 increase his manifester level from 5 to 7). Use: Automatic. - **** - **** + Epic Dread Necromancer + Within the shadowed realms where life and death intertwine, the Dread Necromancer emerges as a master of the macabre, wielding the powers of undeath with unparalleled mastery. This dark and enigmatic class delves deep into the forbidden arts of necromancy, harnessing the very forces that govern life and death to achieve unparalleled power. + + Hit Die: d12 + Skill Points at Each Additional Level: 2 + Int modifier. + + Bonus Feats: The epic dread necromancer gains a bonus feat every five levels, starting at level 25 **** Practiced Spellcaster (Knight of the Weave) Practiced Spellcaster (Cultist of the Shattered Peak) @@ -3300,7 +3305,7 @@ Use: Automatic Aberration Wild Shape Type of Feat: Aberrant Prerequisite: Aberration Blood -Specifics: You can use your wild shape ability to assume the form of an aberration. This requires using PRC Options -> Misc Options -> Aberration Wild Shape to choose. +Specifics: You can use your wild shape ability to assume the form of an aberration. This requires using PRC Options -> Misc Options -> Aberration Wild Shape to choose. Use: Automatic Epic Spellfire Wielder I Epic Spellfire Wielder II @@ -3594,6 +3599,8 @@ Feat: Any metamagic feat BONUS SPELLS: Text + 13138 + 13139 Crypt Spawn Crypt spawn is a template that can be applied to any living creature (referred to hereafter as the base creature). The base creature's type changes to undead. It uses all the base creature's statistics and special abilities except as noted here. @@ -3928,7 +3935,7 @@ Archliches appear as normal liches. They have all the characteristics of normal Aligned Aura:Good Aligned Aura:Law Axiomatic Water - Transmutation [Lawful] + Transmutation [Lawful] Level: Cleric 1, Paladin 1, Components: V, S, M, Casting Time: 1 minute @@ -4134,6 +4141,14 @@ or energized shield spell at the same time. The descriptor of this spell is the same as the energy type you choose when you cast it. Lesser Energized Shield + + +A silver aura surrounds the touched shield for a moment before it appears to transform into the chosen type of energy. The shield hums with power. + +When this spell is cast, the shield touched appears to be made entirely out of one type of energy (fire, cold, electricity, acid, or sonic). Whoever bears the shield gains resistance 5 against the chosen energy type. Additionally, if the wielder successfully hits someone with the shield with a shield bash attack, the victim takes 1d6 points of the appropriate energy damage in addition to the normal shield bash damage. The energy type must be chosen when the spell is cast and cannot be changed during the duration of the spell. The energy resistance overlaps (and does not stack) with resist elements. A given shield cannot be the subject of more than one lesser energized shield or energized shield spell at the same time. + +The descriptor of this spell is the same as the energy type you choose when you cast it. + Estana's Stew Conjuration (Healing) Level: Cleric 2, Druid 2, Paladin 2, @@ -4713,6 +4728,31 @@ effects, you gain a +10 resistance bonus on saving throws (or Charisma checks, in the case of effects such as charm person) to resist commands that would cause you to leave your current position. + Force Missiles + Evocation [Force] +Level: Sorcerer 4, Wizard 4, +Components: V, S, +Casting Time: 1 Standard Action +Range: Medium (100 ft. + 10 ft./level) +Target: Up to four creatures, no two of which are more than 30 ft. apart +Duration: Instantaneous +Saving Throw: None +Spell Resistance: Yes + +Sparking bolts of blue magic, like giant magic missiles, streak from your +outstretched hand to strike your foes and explode in sparkling bursts. + +You create powerful missiles of magical force, each of which darts from your +fingertips and unerringly strikes its target, dealing 2d6 points of damage. +The missile then explodes in a burst of force that deals half this amount of +damage to any creatures adjacent to the primary target. + +The missile strikes unerringly, even if the target is in melee or has anything +less than total cover or concealment. A caster cannot single out specific parts +of a creature. + +You gain one missile for every four caster levels. Extra missiles distribute +themsleves amongst your enemies evenly. 62 63 64 @@ -4906,7 +4946,7 @@ A few multiclassed barbarians become forest masters, although they rarely have t - Hit Die: d8. - Proficiencies: A forest master does not gain any additional weapon or armor proficiencies. - Skill Points: 2 + Int Modifier. -- Spells per Day: At each forest master level except 4th and 8th, the character gains new spells per day as if he had also gained a level in a divine spellcasting class to which he belonged before adding the prestige class level. He does not, however, gain any other benefit a character of that class would have gained (such as an improved chance of turning or rebuking undead). +- Spells per Day: At each forest master level the character gains new spells per day as if he had also gained a level in a divine spellcasting class to which he belonged before adding the prestige class level. He does not, however, gain any other benefit a character of that class would have gained (such as an improved chance of turning or rebuking undead). REQUIREMENTS: @@ -4938,17 +4978,17 @@ Level Forest Dominion (Su) At 2nd level, the forest master gains the ability to rebuke or command plants as an evil cleric can rebuke or command undead. His effective level for this ability is his class level, and he may use it a number of times perday equal to 3 + his Charisma modifier. If he already has this ability because he is a cleric with the Plant domain, these levels stack with his cleric levels and vice versa. Great Mallet (Su) - Beginning at 2nd level, a forest master begins to awaken magical abilities within the wood and metal that make up his maul. Any maul used by a forest master is treated as if it were a +2 maul with either the frost or shock property (the forest master decides each round whether the weapons extra damage is cold or electricity). If the weapon has additional abilities (such as defending), these abilities still apply, and if the weapon has an enhancement bonus better than +2 the higher of the two bonuses is used. The maul does not gain these abilities if it is not wielded by the forest master. At 6th-level, the forest masters maul acts as a +2 icy burst or +2 shocking burst weapon, with the forest master deciding each round what effect the weapon has. At 9th level, the forest masters maul acts as a +3 mighty cleaving weapon in addition to its other properties (including its icy burst or shocking burst ability). + Beginning at 2nd level, a forest master begins to awaken magical abilities within the wood and metal that make up his maul. Any maul used by a forest master is treated as if it were a +2 maul with either the frost or shock property (the forest master decides each round whether the weapons extra damage is cold or electricity). If the weapon has additional abilities (such as defending), these abilities still apply, and if the weapon has an enhancement bonus better than +2 the higher of the two bonuses is used. The maul does not gain these abilities if it is not wielded by the forest master. At 6th-level, the forest masters' maul acts as a +2 icy burst or +2 shocking burst weapon, with the forest master deciding each round what effect the weapon has. At 9th level, the forest masters maul acts as a +3 mighty cleaving weapon in addition to its other properties (including its icy burst or shocking burst ability). Icy Mallet Shocking Mallet Natural Armor (Ex) - At 3rd level, the forest masters skin changes into a tough, bark like hide, granting him natural armor +3.This bonus increases to +5 at 5th level and +7 at 7th level. + At 3rd level, the forest masters skin changes into a tough, bark like hide, granting him natural armor +3. This bonus increases to +5 at 5th level and +7 at 7th level. Oak Strength (Ex) - Beginning at 4th level, the forest master gains a +2 bonus to Strength and the ability to make slam attacks. A Small creatures slam attack deals 1d4 points of damage, one from a Medium-size creature deals 1d6 points of damage, and a Large forest masters slam attack deals 1d8 points of damage. Slam attacks are natural weapon attacks and do not provoke an attack of opportunity from the defender. A forest master can select Improved Critical (slam), Weapon Focus (slam), and (if a fighter of 4th level or higher) Weapon Specialization (slam). Upon gaining this ability, the forest masters hair takes on a green, leafy appearance. + Beginning at 4th level, the forest master gains a +2 bonus to Strength and the ability to make slam attacks. A Small creature's slam attack deals 1d4 points of damage, one from a Medium-size creature deals 1d6 points of damage, and a Large forest masters' slam attack deals 1d8 points of damage. Slam attacks are natural weapon attacks and do not provoke an attack of opportunity from the defender. A forest master can select Improved Critical (Creature), Weapon Focus (Creature), and (if a fighter of 4th level or higher) Weapon Specialization (Creature). Upon gaining this ability, the forest masters' hair takes on a green, leafy appearance. Spruce Growth (Su) At 5th level, once per day the forest master can temporarily increase his size and strength as if using a righteous might spell. Oakheart (Ex) - Upon reaching 7th level, a forest masters bodybecomes a thing of wood and leaf rather than meat and bone. Histype changes to plant. As such, he is immune to mind-affecting effects, poison, sleep, paralysis, stunning, and polymorphing. He is not subject to critical hits or sneak attacks. However, the forest master becomes vulnerable to fire, and suffers double damage from fire attacks. + Upon reaching 7th level, a forest masters' body becomes a thing of wood and leaf rather than meat and bone. His type changes to plant. As such, he is immune to mind-affecting effects, poison, sleep, paralysis, stunning, and polymorphing. He is not subject to critical hits or sneak attacks. However, the forest master becomes vulnerable to fire, and suffers double damage from fire attacks. Deep Roots (Su) Beginning at 8th level, once per day the forestmaster may sink roots into the ground in any natural surface that can support at least some vegetation. While rooted, the forest master gains fast healing 5, but has an effective Dexterity score of 1 and may not move from the spot in which he stands. The forest master can withdraw his roots and end the healing as a free action. Forest Longevity (Ex) @@ -4962,6 +5002,18 @@ Level You sink your roots into the fertile soil below. You must be outside & above ground to use this ability. <CUSTOM0> commands plants. + Wild Shape: Plant + At 12th level, a druid becomes able to use wild shape to change into a plant creature with the same size restrictions as for animal forms. (A druid cant use this ability to take the form of a plant that isnt a creature.) + Wild Shape, Treant + Wild Shape, Shambling Mound + Wild Shape, Twig Blight + Wild Shape, Myconid + Wild Shape, Algoid + Treant + Shambling Mound + Twig Blight + Myconid + Algoid ++++++++++ ACP Styles ++++++++++ Kensai Assassin @@ -5053,11 +5105,11 @@ Feats Required: Martial Flowers - Crystal Bouquets* Sap The sap is a simple weapon, typically consisting of a small bag filled with sand or lead shot. - Base Damage: 1d6 + Base Damage: 1d4 Base Critical Threat: x2 Base Damage Type: Bludgeoning Weapon Size: Small -Feats Required: Martial +Feats Required: Simple Assassin Dagger* The assassin dagger is a normal dagger wielded in a palm-down mode, making it effective for backstabbing and other unexpected attacks. shortsword 2* @@ -5067,7 +5119,7 @@ Feats Required: Martial Base Critical Threat: x3 Base Damage Type: Piercing Weapon Size: Tiny -Feats Required: Exotic +Feats Required: Simple Miscellaneous Small 2* Longsword 2* Battleaxe 2* @@ -18789,6 +18841,13 @@ Use: Automatic. Use Limitation: Gender Gender Limitation: Only creatures of a specific gender may use an item with this property. Alchemical item + Shortspear + One of history's most basic weapons, the shortspear is nevertheless a formidable weapon. Little more that a simple shaft topped with a sharpened head, the shortspear is the staple of many a militia. + Base Damage: 1d6 +Base Critical Threat: x2 +Base Damage Type: Piercing +Weapon Size: Medium +Feats Required: Simple, or Druid Brutal Strike Mode Type of Feat: Class Specific Prerequisite: Fist of Hextor level 1 @@ -29263,7 +29322,7 @@ This spell infuses the weapon touched with baleful energy. The next time this we Urthanyk Mist of Nourn Ishentav - Burning angel wing fumes + Burning Angel Wing Fumes Golden Ice This crystalline substance is cold to the touch, though it doesn't melt except at infernally high temperatures. Evil creatures subjected to it feel it's cold spreading throughout their bodies. Celestial Lightsblood @@ -34086,7 +34145,7 @@ Base Critical Threat: 18-20/x2 Base Damage Type: Slashing and Piercing Weapon Size: Large Feats Required: Exotic - These rapier-like exotic weapons are the size of short swords but weight as much as a dagger. Dexterous elven rogues and fighters favor it for its ability to slip into cracks in armor. Some elven nobles carry one as a sign of status, even if they are not proficient in its use. + These rapier-like exotic weapons are the size of short swords but weigh as much as a dagger. Dexterous elven rogues and fighters favor it for its ability to slip into cracks in armor. Some elven nobles carry one as a sign of status, even if they are not proficient in its use. This weapon is finessable, and counts as a rapier or a shortsword in regards to Weapon Focus, Weapon Specialization, their epic counterparts, Sanctify and Vile Martial Strikes, and Improved Critical. This exotic rapier-like weapon is the size of a longsword, but much lighter. Like the lightblade, it is favored by dexterous elven rogues and fighters. @@ -42077,8 +42136,7 @@ Range: Touch Effect: One bone that becomes a blade Duration: 10 minutes/level -The caster changes a bone at least 6 inches long into a longsword, short sword, or greatsword (caster's choice). This weapon has a +1 enhancement bonus on attacks and damage for every five caster levels (at least +1, maximum +4). Furthermore, this blade deals an extra +1d6 points of damage to living targets and an additional +1d6 -points of damage to goodaligned targets. +The caster changes a bone at least 6 inches long into a longsword, short sword, or greatsword (caster's choice). This weapon has a +1 enhancement bonus on attacks and damage for every five caster levels (at least +1, maximum +4). Furthermore, this blade deals an extra +1d6 points of damage to living targets and an additional +1d6 points of damage to goodaligned targets. This spell confers no proficiency with the blade, but the caster doesn't need to be the one wielding the blade for it to be effective. @@ -42289,9 +42347,7 @@ Duration: 10 minutes/level (D) Saving Throw: None Spell Resistance: No -This spell is similar to darkness, except that those within the area of darkness also take unholy damage. Creatures of good alignment take 2d6 points of -damage per round in the darkness, and creatures neither good nor evil take 1d6 points of damage. As with the darkness spell, the area of darkness is a -20-foot radius, and the object that serves as the spell's target can be shrouded to block the darkness (and thus the damaging effect). +This spell is similar to darkness, except that those within the area of darkness also take unholy damage. Creatures of good alignment take 2d6 points of damage per round in the darkness, and creatures neither good nor evil take 1d6 points of damage. As with the darkness spell, the area of darkness is a 20-foot radius, and the object that serves as the spell's target can be shrouded to block the darkness (and thus the damaging effect). Damning darkness counters or dispels any light spell of equal or lower level. @@ -44152,7 +44208,7 @@ Use: Specified AC Bonus Type of Feat: Class Specific Prerequisites: Swordsage 2. -Specifics: You gain your Wisdom modifier as a bonus to your armour class when wearing light armour. +Specifics: AC Bonus: Starting at 2nd level, you can add your Wisdom modifier as a bonus to Armor Class, so long as you wear light armor, are unencumbered, and do not use a shield. This bonus to AC applies even against touch attacks or when you are flat-footed. However, you lose this bonus when you are immobilized or helpless. Use: Automatic Sense Magic Type of Feat: Class Specific @@ -48489,12 +48545,9 @@ Epic Levels: Sorcerer Obscure Object Sorcerer Owl's Wisdom Sorcerer Protection from Arrows - Sorcerer Pyrotechnics - - Sorcerer Pyrotechnics: Fireworks - - Sorcerer Pyrotechnics: Smoke - + Sorcerer Pyrotechnics + Sorcerer Pyrotechnics: Fireworks + Sorcerer Pyrotechnics: Smoke Sorcerer Resist Elements Sorcerer Scare Sorcerer Scorching Ray @@ -48697,8 +48750,7 @@ Epic Levels: Sorcerer Lesser Planar Binding Sorcerer Lesser Spell Mantle Sorcerer Snilloc's Major Missile - Sorcerer Mass Fire Shield - + Sorcerer Mass Fire Shield Sorcerer Mass Fire Shield: Red Sorcerer Mass Fire Shield: Blue Sorcerer Mestil's Acid Sheath @@ -55122,7 +55174,7 @@ Feats Required: Martial Weapon Proficiency Weapon Proficiency: Rapier Weapon Proficiency: Scimitar Weapon Proficiency: Scythe - Weapon Proficiency: Spear + Weapon Proficiency: Shortspear Weapon Proficiency: Shuriken Weapon Proficiency: Sickle Weapon Proficiency: Sling @@ -80051,7 +80103,8 @@ Use: Activated Fra CSM Sht - ### BEGIN INVOKER MARKER FEATS# + Plt + ### BEGIN INVOKER MARKER FEATS# Abjurant Champion Invoking (Warlock) Acolye of the Skin Invoking (Warlock) Anima Mage Invoking (Warlock) @@ -80088,23 +80141,23 @@ Use: Activated Unseen Seer Invoking (Dragon Shaman) Virtuoso Invoking (Dragon Shaman) Wild Mage Invoking (Dragon Shaman) - Abjurant Champion (N/A) - Acolye of the Skin (N/A) - Anima Mage (N/A) - Arcane Trickster (N/A) - Blood Magus (N/A) - Disciple of Asmodeus (N/A) - Enlighted Fist (N/A) - Maester (N/A) - Talon of Tiamat (N/A) - Unseen Seer (N/A) - Virtuoso (N/A) - Wild Mage (N/A) + Abjurant Champion (REMOVE) + Acolye of the Skin (REMOVE) + Anima Mage (REMOVE) + Arcane Trickster (REMOVE) + Blood Magus (REMOVE) + Disciple of Asmodeus (REMOVE) + Enlighted Fist (REMOVE) + Maester (REMOVE) + Talon of Tiamat (REMOVE) + Unseen Seer (REMOVE) + Virtuoso (REMOVE) + Wild Mage (REMOVE) Invoking: At each level, you gain new invocations known, increased damage with eldritch blast, and an increase in invoker level as if you had also gained a level in the warlock class. You do not, however, gain any other benefit a character of that class would have gained. Invoking: At each level, you gain new invocations known, and an increase in invoker level as if you had also gained a level in the Dragonfire Adept class. You do not, however, gain any other benefit a character of that class would have gained. Invoking: At each level, you gain an increase in invoker level as if you had also gained a level in the Dragon Shaman class. You do not, however, gain any other benefit a character of that class would have gained. Advancement: While this prestige class can advance the caster level of an alternate magic system class, it is instead advancing a standard spellcasting class, or no class at all. - ### BEGIN INVOKER MARKER FEATS# + ### BEGIN SHADOWCASTER MARKER FEATS# Acolyte of the Skin Shadowcasting (Shadowcaster) Alienist Shadowcasting (Shadowcaster) Child of Night Shadowcasting (Shadowcaster) @@ -80129,12 +80182,12 @@ Use: Activated Ollam Shadowcasting (Shadowsmith) Talon of Tiamat Shadowcasting (Shadowsmith) Thrall of Orcus Shadowcasting (Shadowsmith) - Alienist (N/A) - Dragonsong Lyrist (N/A) - Elemental Savant (N/A) - Mystic Theurge (N/A) - Ollam (N/A) - Thrall of Orcus (N/A) + Alienist (REMOVE) + Dragonsong Lyrist (REMOVE) + Elemental Savant (REMOVE) + Mystic Theurge (REMOVE) + Ollam (REMOVE) + Thrall of Orcus (REMOVE) Mysteries: At each level beyond 1st, you gain new mysteries and an increase in caster level (and mysteries known) as if you had also attained a level in a shadowcasting class to which you belonged before adding the prestige class level. Mysteries/Spellcasting: At each level, you gain new mysteries and spells per day and an increase in caster level (and mysteries and spells known, if applicable) as if you had gained a level in both your mystery-using class and your arcane spellcasting class. Mysteries: At each level you gain new mysteries and an increase in caster level (and mysteries known) as if you had also attained a level in a shadowcasting class to which you belonged before adding the prestige class level. @@ -80194,6 +80247,1492 @@ Use: Activated Manifesting: Upon reaching levels 2, 3, 4, 5, 6, 7, 8, 9, the Thrallherd gains a new manifester level, increasing his power points, total powers known, and maximum power level. Spellcasting: Upon reaching levels 2, 3, 4, 5, 6 the Sanctified Mind gains new spells as if he had also gained a level in his highest level divine spellcasting class. Spellcasting: Each level, the Soulmanifester gains new spells per day as if they had also gained a level in their highest level arcane spellcasting class. + ### BEGIN SPELLCASTER MARKER FEATS# + Bardic Spellcasting (Gloura) + Sorcerous Spellcasting (Drider) + Sorcerous Spellcasting (Arkamoi) + Sorcerous Spellcasting (Marrrutact) + Sorcerous Spellcasting (Redspawn Arcaniss) + Sorcerous Spellcasting (Rakshasa) + Sorcerous Spellcasting (Aranea) + Abjurant Champion Spellcasting (Fey) + Acolyte of the Skin Spellcasting (Fey) + Master Alchemist Spellcasting (Fey) + Alienist Spellcasting (Fey) + Anima Mage Spellcasting (Fey) + Archmage Spellcasting (Fey) + Arcane Trickster Spellcasting (Fey) + Disciple of Asmodeus Spellcasting (Fey) + Bladesinger Spellcasting (Fey) + Blood Magus Spellcasting (Fey) + Cerebremancer Spellcasting (Fey) + Diabolist Spellcasting (Fey) + Dragonheart Mage Spellcasting (Fey) + Dragonsong Lyrist Spellcasting (Fey) + Eldritch Knight Spellcasting (Fey) + Enlightened Fist Spellcasting (Fey) + Elemental Savant Spellcasting (Fey) + Eldritch Theurge Spellcasting (Fey) + Fochlucan Lyrist Spellcasting (Fey) + Frost Mage Spellcasting (Fey) + Thrall of Graz'zt Spellcasting (Fey) + Harper Mage Spellcasting (Fey) + Hathran Spellcasting (Fey) + Havoc Mage Spellcasting (Fey) + Jade Phoenix Mage Spellcasting (Fey) + Drow Judicator Spellcasting (Fey) + Maester Spellcasting (Fey) + Mage Killer Spellcasting (Fey) + Master Harper Spellcasting (Fey) + Mystic Theurge Spellcasting (Fey) + Noctumancer Spellcasting (Fey) + Oozemaster Spellcasting (Fey) + Pale Master Spellcasting (Fey) + Rage Mage Spellcasting (Fey) + Shadow Adept Spellcasting (Fey) + Soulcaster Spellcasting (Fey) + Spelldancer Spellcasting (Fey) + Spellsword Spellcasting (Fey) + Talon of Tiamat Spellcasting (Fey) + True Necromancer Spellcasting (Fey) + Ultimate Magus Spellcasting (Fey) + Unseen Spellcasting (Fey) + Virtuoso Spellcasting (Fey) + Wild Mage Spellcasting (Fey) + War Wizard of Cormyr Spellcasting (Fey) + Abjurant Champion Spellcasting (Aberration) + Acolyte of the Skin Spellcasting (Aberration) + Master Alchemist Spellcasting (Aberration) + Alienist Spellcasting (Aberration) + Anima Mage Spellcasting (Aberration) + Archmage Spellcasting (Aberration) + Arcane Trickster Spellcasting (Aberration) + Disciple of Asmodeus Spellcasting (Aberration) + Bladesinger Spellcasting (Aberration) + Blood Magus Spellcasting (Aberration) + Cerebremancer Spellcasting (Aberration) + Diabolist Spellcasting (Aberration) + Dragonheart Mage Spellcasting (Aberration) + Dragonsong Lyrist Spellcasting (Aberration) + Eldritch Knight Spellcasting (Aberration) + Enlightened Fist Spellcasting (Aberration) + Elemental Savant Spellcasting (Aberration) + Eldritch Theurge Spellcasting (Aberration) + Force Missile Mage Spellcasting (Aberration) + Fochulan Lyrist Spellcasting (Aberration) + Frost Mage Spellcasting (Aberration) + Thrall of Graz'zt Spellcasting (Aberration) + Harper Mage Spellcasting (Aberration) + Hathran Spellcasting (Aberration) + Havoc Mage Spellcasting (Aberration) + Jade Phoenix Mage Spellcasting (Aberration) + Drow Judicator Spellcasting (Aberration) + Maester Spellcasting (Aberration) + Mage Killer Spellcasting (Aberration) + Master Harper Spellcasting (Aberration) + Mystic Theurge Spellcasting (Aberration) + Noctumancer Spellcasting (Aberration) + Oozemaster Spellcasting (Aberration) + Pale Master Spellcasting (Aberration) + Rage Mage Spellcasting (Aberration) + Shadow Adept Spellcasting (Aberration) + Soulcaster Spellcasting (Aberration) + Spelldancer Spellcasting (Aberration) + Spellsword Spellcasting (Aberration) + Talon of Tiamat Spellcasting (Aberration) + True Necromancer Spellcasting (Aberration) + Ultimate Magus Spellcasting (Aberration) + Unseen Seer Spellcasting (Aberration) + Virtuoso Spellcasting (Aberration) + Wayfarer Guide Spellcasting (Aberration) + Wild Mage Spellcasting (Aberration) + War Wizard of Cormyr Spellcasting (Aberration) + Abjurant Champion Spellcasting (Monstrous Humaniod) + Acolyte of the Skin Spellcasting (Monstrous Humaniod) + Master Alchemist Spellcasting (Monstrous Humaniod) + Alienist Spellcasting (Monstrous Humaniod) + Anima Mage Spellcasting (Monstrous Humaniod) + Archmage Spellcasting (Monstrous Humaniod) + Arcane Trickster Spellcasting (Monstrous Humaniod) + Disciple of Asmodeus Spellcasting (Monstrous Humaniod) + Bladesinger Spellcasting (Monstrous Humaniod) + Blood Magus Spellcasting (Monstrous Humaniod) + Cerebremancer Spellcasting (Monstrous Humaniod) + Diabolist Spellcasting (Monstrous Humaniod) + Dragonheart Mage Spellcasting (Monstrous Humaniod) + Dragonsong Lyrist Spellcasting (Monstrous Humaniod) + Eldritch Knight Spellcasting (Monstrous Humaniod) + Enlightened Fist Spellcasting (Monstrous Humaniod) + Elemental Savant Spellcasting (Monstrous Humaniod) + Eldritch Theurge Spellcasting (Monstrous Humaniod) + Force Missile Mage Spellcasting (Monstrous Humaniod) + Fochulan Lyrist Spellcasting (Monstrous Humaniod) + Frost Mage Spellcasting (Monstrous Humaniod) + Thrall of Graz'zt Spellcasting (Monstrous Humaniod) + Harper Mage Spellcasting (Monstrous Humaniod) + Hathran Spellcasting (Monstrous Humaniod) + Havoc Mage Spellcasting (Monstrous Humaniod) + Jade Phoenix Mage Spellcasting (Monstrous Humaniod) + Drow Judicator Spellcasting (Monstrous Humaniod) + Maester Spellcasting (Monstrous Humaniod) + Mage Killer Spellcasting (Monstrous Humaniod) + Master Harper Spellcasting (Monstrous Humaniod) + Mystic Theurge Spellcasting (Monstrous Humaniod) + Noctumancer Spellcasting (Monstrous Humaniod) + Oozemaster Spellcasting (Monstrous Humaniod) + Pale Master Spellcasting (Monstrous Humaniod) + Rage Mage Spellcasting (Monstrous Humaniod) + Shadow Adept Spellcasting (Monstrous Humaniod) + Soulcaster Spellcasting (Monstrous Humaniod) + Spelldancer Spellcasting (Monstrous Humaniod) + Spellsword Spellcasting (Monstrous Humaniod) + Talon of Tiamat Spellcasting (Monstrous Humaniod) + True Necromancer Spellcasting (Monstrous Humaniod) + Ultimate Magus Spellcasting (Monstrous Humaniod) + Unseen Seer Spellcasting (Monstrous Humaniod) + Virtuoso Spellcasting (Monstrous Humaniod) + Wayfarer Guide Spellcasting (Monstrous Humaniod) + Wild Mage Spellcasting (Monstrous Humaniod) + War Wizard of Cormyr Spellcasting (Monstrous Humaniod) + Abjurant Champion Spellcasting (Outsider) + Acolyte of the Skin Spellcasting (Outsider) + Master Alchemist Spellcasting (Outsider) + Alienist Spellcasting (Outsider) + Anima Mage Spellcasting (Outsider) + Archmage Spellcasting (Outsider) + Arcane Trickster Spellcasting (Outsider) + Disciple of Asmodeus Spellcasting (Outsider) + Bladesinger Spellcasting (Outsider) + Blood Magus Spellcasting (Outsider) + Cerebremancer Spellcasting (Outsider) + Diabolist Spellcasting (Outsider) + Dragonheart Mage Spellcasting (Outsider) + Dragonsong Lyrist Spellcasting (Outsider) + Eldritch Knight Spellcasting (Outsider) + Enlightened Fist Spellcasting (Outsider) + Elemental Savant Spellcasting (Outsider) + Eldritch Theurge Spellcasting (Outsider) + Force Missile Mage Spellcasting (Outsider) + Fochulan Lyrist Spellcasting (Outsider) + Frost Mage Spellcasting (Outsider) + Thrall of Graz'zt Spellcasting (Outsider) + Harper Mage Spellcasting (Outsider) + Hathran Spellcasting (Outsider) + Havoc Mage Spellcasting (Outsider) + Jade Phoenix Mage Spellcasting (Outsider) + Drow Judicator Spellcasting (Outsider) + Maester Spellcasting (Outsider) + Mage Killer Spellcasting (Outsider) + Master Harper Spellcasting (Outsider) + Mystic Theurge Spellcasting (Outsider) + Noctumancer Spellcasting (Outsider) + Oozemaster Spellcasting (Outsider) + Pale Master Spellcasting (Outsider) + Rage Mage Spellcasting (Outsider) + Shadow Adept Spellcasting (Outsider) + Soulcaster Spellcasting (Outsider) + Spelldancer Spellcasting (Outsider) + Spellsword Spellcasting (Outsider) + Talon of Tiamat Spellcasting (Outsider) + True Necromancer Spellcasting (Outsider) + Ultimate Magus Spellcasting (Outsider) + Unseen Seer Spellcasting (Outsider) + Virtuoso Spellcasting (Outsider) + Wayfarer Guide Spellcasting (Outsider) + Wild Mage Spellcasting (Outsider) + War Wizard of Cormyr Spellcasting (Outsider) + Abjurant Champion Spellcasting (Shapechanger) + Acolyte of the Skin Spellcasting (Shapechanger) + Master Alchemist Spellcasting (Shapechanger) + Alienist Spellcasting (Shapechanger) + Anima Mage Spellcasting (Shapechanger) + Archmage Spellcasting (Shapechanger) + Arcane Trickster Spellcasting (Shapechanger) + Disciple of Asmodeus Spellcasting (Shapechanger) + Bladesinger Spellcasting (Shapechanger) + Blood Magus Spellcasting (Shapechanger) + Cerebremancer Spellcasting (Shapechanger) + Diabolist Spellcasting (Shapechanger) + Dragonheart Mage Spellcasting (Shapechanger) + Dragonsong Lyrist Spellcasting (Shapechanger) + Eldritch Knight Spellcasting (Shapechanger) + Enlightened Fist Spellcasting (Shapechanger) + Elemental Savant Spellcasting (Shapechanger) + Eldritch Theurge Spellcasting (Shapechanger) + Force Missile Mage Spellcasting (Shapechanger) + Fochulan Lyrist Spellcasting (Shapechanger) + Frost Mage Spellcasting (Shapechanger) + Thrall of Graz'zt Spellcasting (Shapechanger) + Harper Mage Spellcasting (Shapechanger) + Hathran Spellcasting (Shapechanger) + Havoc Mage Spellcasting (Shapechanger) + Jade Phoenix Mage Spellcasting (Shapechanger) + Drow Judicator Spellcasting (Shapechanger) + Maester Spellcasting (Shapechanger) + Mage Killer Spellcasting (Shapechanger) + Master Harper Spellcasting (Shapechanger) + Mystic Theurge Spellcasting (Shapechanger) + Noctumancer Spellcasting (Shapechanger) + Oozemaster Spellcasting (Shapechanger) + Pale Master Spellcasting (Shapechanger) + Rage Mage Spellcasting (Shapechanger) + Shadow Adept Spellcasting (Shapechanger) + Soulcaster Spellcasting (Shapechanger) + Spelldancer Spellcasting (Shapechanger) + Spellsword Spellcasting (Shapechanger) + Talon of Tiamat Spellcasting (Shapechanger) + True Necromancer Spellcasting (Shapechanger) + Ultimate Magus Spellcasting (Shapechanger) + Unseen Seer Spellcasting (Shapechanger) + Virtuoso Spellcasting (Shapechanger) + Wayfarer Guide Spellcasting (Shapechanger) + Wild Mage Spellcasting (Shapechanger) + War Wizard of Cormyr Spellcasting (Shapechanger) + Abjurant Champion Spellcasting (Assassin) + Acolyte of the Skin Spellcasting (Assassin) + Master Alchemist Spellcasting (Assassin) + Anima Mage Spellcasting (Assassin) + Arcane Trickster Spellcasting (Assassin) + Disciple of Asmodeus Spellcasting (Assassin) + Bladesinger Spellcasting (Assassin) + Cerebremancer Spellcasting (Assassin) + Diabolist Spellcasting (Assassin) + Dragonheart Mage Spellcasting (Assassin) + Eldritch Knight Spellcasting (Assassin) + Enlightened Fist Spellcasting (Assassin) + Elemental Savant Spellcasting (Assassin) + Eldritch Theurge Spellcasting (Assassin) + Fochulan Lyrist Spellcasting (Assassin) + Frost Mage Spellcasting (Assassin) + Thrall of Graz'zt Spellcasting (Assassin) + Havoc Mage Spellcasting (Assassin) + Drow Judicator Spellcasting (Assassin) + Mystic Theurge Spellcasting (Assassin) + Noctumancer Spellcasting (Assassin) + Oozemaster Spellcasting (Assassin) + Pale Master Spellcasting (Assassin) + Rage Mage Spellcasting (Assassin) + Shadow Adept Spellcasting (Assassin) + Soulcaster Spellcasting (Assassin) + Spelldancer Spellcasting (Assassin) + Spellsword Spellcasting (Assassin) + Talon of Tiamat Spellcasting (Assassin) + Ultimate Magus Spellcasting (Assassin) + Unseen Seer Spellcasting (Assassin) + Wild Mage Spellcasting (Assassin) + Abjurant Championon Spellcasting (Bard) + Acolyte of the Skin Spellcasting (Bard) + Master Alchemist Spellcasting (Bard) + Alienist Spellcasting (Bard) + Anima Mage Spellcasting (Bard) + Arcane Trickster Spellcasting (Bard) + Disciple of Asmodeus Spellcasting (Bard) + Bladesinger Spellcasting (Bard) + Blood Magus Spellcasting (Bard) + Cerebremancer Spellcasting (Bard) + Diabolist Spellcasting (Bard) + Dragonheart Mage Spellcasting (Bard) + Dragonsong Lyrist Spellcasting (Bard) + Eldritch Knight Spellcasting (Bard) + Enlightened Fist Spellcasting (Bard) + Elemental Savant Spellcasting (Bard) + Eldritch Theurge Spellcasting (Bard) + Fochlucan Lyrist Spellcasting (Bard) + Frost Mage Spellcasting (Bard) + Thrall of Graz'zt Spellcasting (Bard) + Harper Mage Spellcasting (Bard) + Hathran Spellcasting (Bard) + Havoc Mage Spellcasting (Bard) + Jade Phoenix Mage Spellcasting (Bard) + Drow Judicator Spellcasting (Bard) + Maester Spellcasting (Bard) + Mage Killer Spellcasting (Bard) + Master Harper Spellcasting (Bard) + Mystic Theurge Spellcasting (Bard) + Noctumancer Spellcasting (Bard) + Oozemaster Spellcasting (Bard) + Pale Master Spellcasting (Bard) + Rage Mage Spellcasting (Bard) + Shadow Adept Spellcasting (Bard) + Soulcaster Spellcasting (Bard) + Spelldancer Spellcasting (Bard) + Spellsword Spellcasting (Bard) + Talon of Tiamat Spellcasting (Bard) + Ultimate Magus Spellcasting (Bard) + Unseen Spellcasting (Bard) + Virtuoso Spellcasting (Bard) + Wild Mage Spellcasting (Bard) + War Wizard of Cormyr Spellcasting (Bard) + Abjurant Champion Spellcasting (Beguiler) + Acolyte of the Skin Spellcasting (Beguiler) + Master Alchemist Spellcasting (Beguiler) + Alienist Spellcasting (Beguiler) + Anima Mage Spellcasting (Beguiler) + Archmage Spellcasting (Beguiler) + Arcane Trickster Spellcasting (Beguiler) + Disciple of Asmodeus Spellcasting (Beguiler) + Bladesinger Spellcasting (Beguiler) + Blood Magus Spellcasting (Beguiler) + Cerebremancer Spellcasting (Beguiler) + Diabolist Spellcasting (Beguiler) + Dragonheart Mage Spellcasting (Beguiler) + Dragonsong Lyrist Spellcasting (Beguiler) + Eldritch Knight Spellcasting (Beguiler) + Enlightened Fist Spellcasting (Beguiler) + Elemental Savant Spellcasting (Beguiler) + Eldritch Theurge Adept Spellcasting (Beguiler) + Fochulan Lyrist Spellcasting (Beguiler) + Frost Mage Spellcasting (Beguiler) + Thrall of Graz'zt Spellcasting (Beguiler) + Harper Mage Spellcasting (Beguiler) + Hathran Spellcasting (Beguiler) + Havoc Mage Spellcasting (Beguiler) + Jade Phoenix Mage Spellcasting (Beguiler) + Drow Judicator Spellcasting (Beguiler) + Maester Spellcasting (Beguiler) + Mage Killer Spellcasting (Beguiler) + Master Harper Spellcasting (Beguiler) + Mystic Theurge Spellcasting (Beguiler) + Noctumancer Spellcasting (Beguiler) + Oozemaster Spellcasting (Beguiler) + Pale Master Spellcasting (Beguiler) + Rage Mage Spellcasting (Beguiler) + Shadow Adept Spellcasting (Beguiler) + Soulcaster Spellcasting (Beguiler) + Spelldancer Spellcasting (Beguiler) + Spellsword Spellcasting (Beguiler) + Talon of Tiamat Spellcasting (Beguiler) + Ultimate Magus Spellcasting (Beguiler) + Unseen Seer Spellcasting (Beguiler) + Virtuoso Spellcasting (Beguiler) + Wild Mage Spellcasting (Beguiler) + War Wizard of Cormyr Spellcasting (Beguiler) + Abjurant Champion Spellcasting (Celebrant of Sharess) + Master Alchemist Spellcasting (Celebrant of Sharess) + Alienist Spellcasting (Celebrant of Sharess) + Arcane Trickster Spellcasting (Celebrant of Sharess) + Bonded Summoner Spellcasting (Celebrant of Sharess) + Bladesinger Spellcasting (Celebrant of Sharess) + Cerebremancer Spellcasting (Celebrant of Sharess) + Dragonheart Mage Spellcasting (Celebrant of Sharess) + Dragonsong Lyrist Spellcasting (Celebrant of Sharess) + Eldritch Knight Spellcasting (Celebrant of Sharess) + Enlightened Fist Spellcasting (Celebrant of Sharess) + Eldritch Theurge Spellcasting (Celebant of Sharess) + Elemental Savant Spellcasting (Celebrant of Sharess) + Frost Mage Spellcasting (Celebrant of Sharess) + Harper Mage Spellcasting (Celebrant of Sharess) + Havoc Mage Spellcasting (Celebant of Sharess) + Jade Phoenix Mage Spellcasting (Celebrant of Sharess) + Master Harper Spellcasting (Celebrant of Sharess) + Mystic Theurge Spellcasting (Celebrant of Sharess) + Noctumancer Spellcasting (Celebrant of Sharess) + Oozemaster Spellcasting (Celebrant of Sharess) + Rage Mage Spellcasting (Celebant of Sharess) + Shadow Adept Spellcasting (Celebrant of Sharess) + Soulcaster Spellcasting (Celebrant of Sharess) + Spelldancer Spellcasting (Celebrant of Sharess) + Spellsword Spellcasting (Celebant of Sharess) + Ultimate Magus Spellcasting (Celebrant of Sharess) + Unseen Seer Spellcasting (Celebrant of Sharess) + Wild Mage Spellcasting (Celebrant of Sharess) + War Wizard of Cormyr Spellcasting (Celebrant of Sharess) + Abjurant Champion Spellcasting (Cultist of the Shattered Peaks) + Acolyte of the Skin Spellcasting (Cultist of the Shattered Peaks) + Anima Mage Spellcasting (Cultist of the Shattered Peaks) + Arcane Trickster Spellcasting (Cultist of the Shattered Peaks) + Disciple of Asmodeus Spellcasting (Cultist of the Shattered Peaks) + Bladesinger Spellcasting (Cultist of the Shattered Peaks) + Cerebremancer Spellcasting (Cultist of the Shattered Peaks) + Diabolist Spellcasting (Cultist of the Shattered Peaks) + Dragonsong Lyrist Spellcasting (Cultist of the Shattered Peaks) + Eldritch Knight Spellcasting (Cultist of the Shattered Peaks) + Enlightened Fist Spellcasting (Cultist of the Shattered Peaks) + Elemental Savant Spellcasting (Cultist of the Shattered Peaks) + Eldritch Theurge Adept Spellcasting (Cultist of the Shattered Peaks) + Fochulan Lyrist Spellcasting (Cultist of the Shattered Peaks) + Frost Mage Spellcasting (Cultist of the Shattered Peaks) + Thrall of Graz'zt Spellcasting (Cultist of the Shattered Peaks) + Harper Mage Spellcasting (Cultist of the Shattered Peaks) + Hathran Spellcasting (Cultist of the Shattered Peaks) + Havoc Mage Spellcasting (Cultist of the Shattered Peaks) + Jade Phoenix Mage Spellcasting (Cultist of the Shattered Peaks) + Master Harper Spellcasting (Cultist of the Shattered Peaks) + Mystic Theurge Spellcasting (Cultist of the Shattered Peaks) + Noctumancer Spellcasting (Cultist of the Shattered Peaks) + Oozemaster Spellcasting (Cultist of the Shattered Peaks) + Pale Master Spellcasting (Cultist of the Shattered Peaks) + Rage Mage Spellcasting (Cultist of the Shattered Peaks) + Shadow Adept Spellcasting (Cultist of the Shattered Peaks) + Soulcaster Spellcasting (Cultist of the Shattered Peaks) + Spelldancer Spellcasting (Cultist of the Shattered Peaks) + Spellsword Spellcasting (Cultist of the Shattered Peaks) + Talon of Tiamat Spellcasting (Cultist of the Shattered Peaks) + Ultimate Magus Spellcasting (Cultist of the Shattered Peaks) + Unseen Seer Spellcasting (Cultist of the Shattered Peaks) + Wild Mage Spellcasting (Cultist of the Shattered Peaks) + War Wizard of Cormyr Spellcasting (Cultist of the Shattered Peaks) + Acolyte of the Skin Spellcasting (Dread Necromancer) + Master Alchemist Spellcasting (Dread Necromancer) + Alienist Spellcasting (Dread Necromancer) + Anima Mage Spellcasting (Dread Necromancer) + Archmage Spellcasting (Dread Necromancer) + Arcane Trickster Spellcasting (Dread Necromancer) + Disciple of Asmodeus Spellcasting (Dread Necromancer) + Bladesinger Spellcasting (Dread Necromancer) + Blood Magus Spellcasting (Dread Necromancer) + Cerebremancer Spellcasting (Dread Necromancer) + Diabolist Spellcasting (Dread Necromancer) + Dragonheart Mage Spellcasting (Dread Necromancer) + Dragonsong Lyrist Spellcasting (Dread Necromancer) + Eldritch Knight Spellcasting (Dread Necromancer) + Enlightened Fist Spellcasting (Dread Necromancer) + Elemental Savant Spellcasting (Dread Necromancer) + Eldritch Theurge Adept Spellcasting (Dread Necromancer) + Fochulan Lyrist Spellcasting (Dread Necromancer) + Frost Mage Spellcasting (Dread Necromancer) + Thrall of Graz'zt Spellcasting (Dread Necromancer) + Harper Mage Spellcasting (Dread Necromancer) + Hathran Spellcasting (Dread Necromancer) + Havoc Mage Spellcasting (Dread Necromancer) + Jade Phoenix Mage Spellcasting (Dread Necromancer) + Drow Judicator Spellcasting (Dread Necromancer) + Maester Spellcasting (Dread Necromancer) + Mage Killer Spellcasting (Dread Necromancer) + Master Harper Spellcasting (Dread Necromancer) + Mystic Theurge Spellcasting (Dread Necromancer) + Noctumancer Spellcasting (Dread Necromancer) + Oozemaster Spellcasting (Dread Necromancer) + Pale Master Spellcasting (Dread Necromancer) + Rage Mage Spellcasting (Dread Necromancer) + Shadow Adept Spellcasting (Dread Necromancer) + Soulcaster Spellcasting (Dread Necromancer) + Spelldancer Spellcasting (Dread Necromancer) + Spellsword Spellcasting (Dread Necromancer) + Talon of Tiamat Spellcasting (Dread Necromancer) + True Necromancer Spellcasting (Dread Necromancer) + Ultimate Magus Spellcasting (Dread Necromancer) + Unseen Seer Spellcasting (Dread Necromancer) + Wild Mage Spellcasting (Dread Necromancer) + War Wizard of Cormyr Spellcasting (Dread Necromancer) + Abjurant Champion Spellcasting (Duskblade) + Acolyte of the Skin Spellcasting (Duskblade) + Master Alchemist Spellcasting (Duskblade) + Anima Mage Spellcasting (Duskblade) + Arcane Trickster Spellcasting (Duskblade) + Disciple of Asmodeus Spellcasting (Duskblade) + Bladesinger Spellcasting (Duskblade) + Blood Magus Spellcasting (Duskblade) + Cerebremancer Spellcasting (Duskblade) + Dragonheart Mage Spellcasting (Duskblade) + Diabolist Spellcasting (Duskblade) + Dragonsong Lyrist Spellcasting (Duskblade) + Eldritch Knight Spellcasting (Duskblade) + Enlightened Fist Spellcasting (Duskblade) + Elemental Savant Spellcasting (Duskblade) + Eldritch Theurge Spellcasting (Duskblade) + Fochulan Lyrist Spellcasting (Duskblade) + Frost Mage Spellcasting (Duskblade) + Thrall of Graz'zt Spellcasting (Duskblade) + Harper Mage Spellcasting (Duskblade) + Hathran Spellcasting (Duskblade) + Havoc Mage Spellcasting (Duskblade) + Jade Phoenix Mage Spellcasting (Duskblade) + Drow Judicator Spellcasting (Duskblade) + Maester Spellcasting (Duskblade) + Mage Killer Spellcasting (Duskblade) + Master Harper Spellcasting (Duskblade) + Mystic Theurge Spellcasting (Duskblade) + Noctumancer Spellcasting (Duskblade) + Oozemaster Spellcasting (Duskblade) + Pale Master Spellcasting (Duskblade) + Rage Mage Spellcasting (Duskblade) + Shadow Adept Spellcasting (Duskblade) + Soulcaster Spellcasting (Duskblade) + Spelldancer Spellcasting (Duskblade) + Spellsword Spellcasting (Duskblade) + Talon of Tiamat Spellcasting (Duskblade) + True Necromancer Spellcasting (Duskblade) + Ultimate Magus Spellcasting (Duskblade) + Unseen Seer Spellcasting (Duskblade) + Virtuoso Spellcasting (Duskblade) + Wild Mage Spellcasting (Duskblade) + War Wizard of Cormyr Spellcasting (Duskblade) + Abjurant Champion Spellcasting (Harper Scout) + Anima Mage Spellcasting (Harper Scout) + Arcane Trickster Spellcasting (Harper Scout) + Bladesinger Spellcasting (Harper Scout) + Cerebremancer Spellcasting (Harper Scout) + Dragonheart Mage Spellcasting (Harper Scout) + Dragonsong Lyrist Spellcasting (Harper Scout) + Eldritch Knight Spellcasting (Harper Scout) + Enlightened Fist Spellcasting (Harper Scout) + Elemental Savant Spellcasting (Harper Scout) + Eldritch Theurge Spellcasting (Harper Scout) + Fochulan Lyrist Spellcasting (Harper Scout) + Frost Mage Spellcasting (Harper Scout) + Harper Mage Spellcasting (Harper Scout) + Hathran Spellcasting (Harper Scout) + Havoc Mage Spellcasting (Harper Scout) + Jade Phoenix Mage Spellcasting (Harper Scout) + Master Harper Spellcasting (Harper Scout) + Mystic Theurge Spellcasting (Harper Scout) + Noctumancer Spellcasting (Harper Scout) + Oozemaster Spellcasting (Harper Scout) + Pale Master Spellcasting (Harper Scout) + Rage Mage Spellcasting (Harper Scout) + Shadow Adept Spellcasting (Harper Scout) + Soulcaster Spellcasting (Harper Scout) + Spelldancer Spellcasting (Harper Scout) + Spellsword Spellcasting (Harper Scout) + Ultimate Magus Spellcasting (Harper Scout) + Unseen Seer Spellcasting (Harper Scout) + Wild Mage Spellcasting (Harper Scout) + Abjurant Champion Spellcasting (Hexblade) + Acolyte of the Skin Spellcasting (Hexblade) + Master Alchemist Spellcasting (Hexblade) + Anima Mage Spellcasting (Hexblade) + Arcane Trickster Spellcasting (Hexblade) + Disciple of Asmodeus Spellcasting (Hexblade) + Bonded Summoner Spellcasting (Hexblade) + Bladesinger Spellcasting (Hexblade) + Cerebremancer Spellcasting (Hexblade) + Diabolist Spellcasting (Hexblade) + Dragonheart Mage Spellcasting (Hexblade) + Dragonsong Lyrist Spellcasting (Hexblade) + Eldritch Knight Spellcasting (Hexblade) + Enlightened Fist Spellcasting (Hexblade) + Elemental Savant Spellcasting (Hexblade) + Eldritch Theurge Spellcasting (Hexblade) + Fochulan Lyrist Spellcasting (Hexblade) + Frost Mage Spellcasting (Hexblade) + Thrall of Graz'zt Spellcasting (Hexblade) + Harper Mage Spellcasting (Hexblade) + Hathran Spellcasting (Hexblade) + Havoc Mage Spellcasting (Hexblade) + Jade Phoenix Mage Spellcasting (Hexblade) + Drow Judicator Spellcasting (Hexblade) + Master Harper Spellcasting (Hexblade) + Mystic Theurge Spellcasting (Hexblade) + Noctumancer Spellcasting (Hexblade) + Oozemaster Spellcasting (Hexblade) + Pale Master Spellcasting (Hexblade) + Rage Mage Spellcasting (Hexblade) + Shadow Adept Spellcasting (Hexblade) + Soulcaster Spellcasting (Hexblade) + Spelldancer Spellcasting (Hexblade) + Spellsword Spellcasting (Hexblade) + Talont of Talon of Tiamat Spellcasting (Hexblade) + True Necromancer Spellcasting (Hexblade) + Ultimate Magus Spellcasting (Hexblade) + Unseen Seer Spellcasting (Hexblade) + Wild Mage Spellcasting (Hexblade) + War Wizard of Cormyr Spellcasting (Hexblade) + Abjurant Champion Spellcasting (Knight of the Weave) + Master Alchemist Spellcasting (Knight of the Weave) + Anima Mage Spellcasting (Knight of the Weave) + Arcane Trickster Spellcasting (Knight of the Weave) + Bladesinger Spellcasting (Knight of the Weave) + Blood Magus Spellcasting (Knight of the Weave) + Cerebremancer Spellcasting (Knight of the Weave) + Dragonheart Mage Spellcasting (Knight of the Weave) + Dragonsong Lyrist Spellcasting (Knight of the Weave) + Eldritch Knight Spellcasting (Knight of the Weave) + Enlightened Fist Spellcasting (Knight of the Weave) + Elemental Savant Spellcasting (Knight of the Weave) + Eldritch Theurge Spellcasting (Knight of the Weave) + Force Missile Mage Spellcasting (Knight of the Weave) + Fochulan Lyrist Spellcasting (Knight of the Weave) + Frost Mage Spellcasting (Knight of the Weave) + Harper Mage Spellcasting (Knight of the Weave) + Hathran Spellcasting (Knight of the Weave) + Havoc Mage Spellcasting (Knight of the Weave) + Jade Phoenix Mage Spellcasting (Knight of the Weave) + Maester Spellcasting (Knight of the Weave) + Master Harper Spellcasting (Knight of the Weave) + Mystic Theurge Spellcasting (Knight of the Weave) + Noctumancer Spellcasting (Knight of the Weave) + Oozemaster Spellcasting (Knight of the Weave) + Pale Master Spellcasting (Knight of the Weave) + Rage Mage Spellcasting (Knight of the Weave) + Shadow Adept Spellcasting (Knight of the Weave) + Soulcaster Spellcasting (Knight of the Weave) + Spelldancer Spellcasting (Knight of the Weave) + Spellsword Spellcasting (Knight of the Weave) + Ultimate Magus Spellcasting (Knight of the Weave) + Unseen Seer Spellcasting (Knight of the Weave) + Wayfarer Guide Spellcasting (Knight of the Weave) + Wild Mage Spellcasting (Knight of the Weave) + War Wizard of Cormyr Spellcasting (Knight of the Weave) + Abjurant Champion Spellcasting (Telflammar Shadowlord) + Acolyte of the Skin Spellcasting (Telflammar Shadowlord) + Master Alchemist Spellcasting (Telflammar Shadowlord) + Anima Mage Spellcasting (Telflammar Shadowlord) + Arcane Trickster Spellcasting (Telflammar Shadowlord) + Disciple of Asmodeus Spellcasting (Telflammar Shadowlord) + Bladesinger Spellcasting (Telflammar Shadowlord) + Cerebremancer Spellcasting (Telflammar Shadowlord) + Diabolist Spellcasting (Telflammar Shadowlord) + Dragonheart Mage Spellcasting (Telflammar Shadowlord) + Dragonsong Lyrist Spellcasting (Telflammar Shadowlord) + Eldritch Knight Spellcasting (Telflammar Shadowlord) + Enlightened Fist Spellcasting (Telflammar Shadowlord) + Elemental Savant Spellcasting (Telflammar Shadowlord) + Eldritch Theurge Spellcasting (Telflammar Shadowlord) + Fochulan Lyrist Spellcasting (Telflammar Shadowlord) + Frost Mage Spellcasting (Telflammar Shadowlord) + Thrall of Graz'zt Spellcasting (Telflammar Shadowlord) + Harper Mage Spellcasting (Telflammar Shadowlord) + Hathran Spellcasting (Telflammar Shadowlord) + Havoc Mage Spellcasting (Telflammar Shadowlord) + Jade Phoenix Mage Spellcasting (Telflammar Shadowlord) + Drow Judicator Spellcasting (Telflammar Shadowlord) + Master Harper Spellcasting (Telflammar Shadowlord) + Mystic Theurge Spellcasting (Telflammar Shadowlord) + Noctumancer Spellcasting (Telflammar Shadowlord) + Oozemaster Spellcasting (Telflammar Shadowlord) + Pale Master Spellcasting (Telflammar Shadowlord) + Rage Mage Spellcasting (Telflammar Shadowlord) + Shadow Adept Spellcasting (Telflammar Shadowlord) + Soulcaster Spellcasting (Telflammar Shadowlord) + Spelldancer Spellcasting (Telflammar Shadowlord) + Spellsword Spellcasting (Telflammar Shadowlord) + Talon of Tiamat Spellcasting (Telflammar Shadowlord) + True Necromancer Spellcasting (Telflammar Shadowlord) + Ultimate Magus Spellcasting (Telflammar Shadowlord) + Unseen Seer Spellcasting (Telflammar Shadowlord) + Wild Mage Spellcasting (Telflammar Shadowlord) + War Wizard of Cormyr Spellcasting (Telflammar Shadowlord) + Abjurant Champion Spellcasting (Sorcerer) + Acolyte of the Skin Spellcasting (Sorcerer) + Master Alchemist Spellcasting (Sorcerer) + Alienist Spellcasting (Sorcerer) + Anima Mage Spellcasting (Sorcerer) + Archmage Spellcasting (Sorcerer) + Arcane Trickster Spellcasting (Sorcerer) + Disciple of Asmodeus Spellcasting (Sorcerer) + Bladesinger Spellcasting (Sorcerer) + Blood Magus Spellcasting (Sorcerer) + Bonded Summoner Spellcasting (Sorcerer) + Cerebremancer Spellcasting (Sorcerer) + Diabolist Spellcasting (Sorcerer) + Dragonheart Mage Spellcasting (Sorcerer) + Dragonsong Lyrist Spellcasting (Sorcerer) + Eldritch Knight Spellcasting (Sorcerer) + Enlightened Fist Spellcasting (Sorcerer) + Elemental Savant Spellcasting (Sorcerer) + Eldritch Theurge Spellcasting (Sorcerer) + Force Missile Mage Spellcasting (Sorcerer) + Fochulan Lyrist Spellcasting (Sorcerer) + Frost Mage Spellcasting (Sorcerer) + Thrall of Graz'zt Spellcasting (Sorcerer) + Harper Mage Spellcasting (Sorcerer) + Hathran Spellcasting (Sorcerer) + Havoc Mage Spellcasting (Sorcerer) + Jade Phoenix Mage Spellcasting (Sorcerer) + Drow Judicator Spellcasting (Sorcerer) + Maester Spellcasting (Sorcerer) + Mage Killer Spellcasting (Sorcerer) + Master Harper Spellcasting (Sorcerer) + Mystic Theurge Spellcasting (Sorcerer) + Noctumancer Spellcasting (Sorcerer) + Oozemaster Spellcasting (Sorcerer) + Pale Master Spellcasting (Sorcerer) + Rage Mage Spellcasting (Sorcerer) + Shadow Adept Spellcasting (Sorcerer) + Soulcaster Spellcasting (Sorcerer) + Spelldancer Spellcasting (Sorcerer) + Spellsword Spellcasting (Sorcerer) + Talon of Tiamat Spellcasting (Sorcerer) + True Necromancer Spellcasting (Sorcerer) + Ultimate Magus Spellcasting (Sorcerer) + Unseen Seer Spellcasting (Sorcerer) + Virtuoso Spellcasting (Sorcerer) + Wayfarer Guide Spellcasting (Sorcerer) + Wild Mage Spellcasting (Sorcerer) + War Wizard of Cormyr Spellcasting (Sorcerer) + Abjurant Champion Spellcasting (Sublime Chord) + Acolyte of the Skin Spellcasting (Sublime Chord) + Master Alchemist Spellcasting (Sublime Chord) + Alienist Spellcasting (Sublime Chord) + Anima Mage Spellcasting (Sublime Chord) + Archmage Spellcasting (Sublime Chord) + Arcane Trickster Spellcasting (Sublime Chord) + Disciple of Asmodeus Spellcasting (Sublime Chord) + Bladesinger Spellcasting (Sublime Chord) + Blood Magus Spellcasting (Sublime Chord) + Cerebremancer Spellcasting (Sublime Chord) + Diabolist Spellcasting (Sublime Chord) + Dragonheart Mage Spellcasting (Sublime Chord) + Dragonsong Lyrist Spellcasting (Sublime Chord) + Eldritch Knight Spellcasting (Sublime Chord) + Enlightened Fist Spellcasting (Sublime Chord) + Elemental Savant Spellcasting (Sublime Chord) + Eldritch Theurge Spellcasting (Sublime Chord) + Fochulan Lyrist Spellcasting (Sublime Chord) + Frost Mage Spellcasting (Sublime Chord) + Thrall of Graz'zt Spellcasting (Sublime Chord) + Harper Mage Spellcasting (Sublime Chord) + Hathran Spellcasting (Sublime Chord) + Havoc Mage Spellcasting (Sublime Chord) + Jade Phoenix Mage Spellcasting (Sublime Chord) + Drow Judicator Spellcasting (Sublime Chord) + Maester Spellcasting (Sublime Chord) + Mage Killer Spellcasting (Sublime Chord) + Master Harper Spellcasting (Sublime Chord) + Mystic Theurge Spellcasting (Sublime Chord) + Noctumancer Spellcasting (Sublime Chord) + Oozemaster Spellcasting (Sublime Chord) + Pale Master Spellcasting (Sublime Chord) + Rage Mage Spellcasting (Sublime Chord) + Shadow Adept Spellcasting (Sublime Chord) + Soulcaster Spellcasting (Sublime Chord) + Spelldancer Spellcasting (Sublime Chord) + Spellsword Spellcasting (Sublime Chord) + Talon of Tiamat Spellcasting (Sublime Chord) + True Necromancer Spellcasting (Sublime Chord) + Ultimate Magus Spellcasting (Sublime Chord) + Unseen Seer Spellcasting (Sublime Chord) + Wayfarer Guide Spellcasting (Sublime Chord) + Wild Mage Spellcasting (Sublime Chord) + War Wizard of Cormyr Spellcasting (Sublime Chord) + Abjurant Champion Spellcasting (Suel Archanamach) + Acolyte of the Skin Spellcasting (Suel Archanamach) + Master Alchemist Spellcasting (Suel Archanamach) + Anima Mage Spellcasting (Suel Archanamach) + Arcane Trickster Spellcasting (Suel Archanamach) + Disciple of Asmodeus Spellcasting (Suel Archanamach) + Bladesinger Spellcasting (Suel Archanamach) + Blood Magus Spellcasting (Suel Archanamach) + Cerebremancer Spellcasting (Suel Archanamach) + Diabolist Spellcasting (Suel Archanamach) + Dragonheart Mage Spellcasting (Suel Archanamach) + Dragonsong Lyrist Spellcasting (Suel Archanamach) + Eldritch Knight Spellcasting (Suel Archanamach) + Enlightened Fist Spellcasting (Suel Archanamach) + Elemental Savant Spellcasting (Suel Archanamach) + Eldritch Theurge Spellcasting (Suel Archanamach) + Fochulan Lyrist Spellcasting (Suel Archanamach) + Frost Mage Spellcasting (Suel Archanamach) + Thrall of Graz'zt Spellcasting (Suel Archanamach) + Harper Mage Spellcasting (Suel Archanamach) + Hathran Spellcasting (Suel Archanamach) + Havoc Mage Spellcasting (Suel Archanamach) + Jade Phoenix Mage Spellcasting (Suel Archanamach) + Drow Judicator Spellcasting (Suel Archanamach) + Maester Spellcasting (Suel Archanamach) + Mage Killer Spellcasting (Suel Archanamach) + Master Harper Spellcasting (Suel Archanamach) + Mystic Theurge Spellcasting (Suel Archanamach) + Noctumancer Spellcasting (Suel Archanamach) + Oozemaster Spellcasting (Suel Archanamach) + Pale Master Spellcasting (Suel Archanamach) + Rage Mage Spellcasting (Suel Archanamach) + Shadow Adept Spellcasting (Suel Archanamach) + Soulcaster Spellcasting (Suel Archanamach) + Spelldancer Spellcasting (Suel Archanamach) + Spellsword Spellcasting (Suel Archanamach) + Talon of Tiamat Spellcasting (Suel Archanamach) + Ultimate Magus Spellcasting (Suel Archanamach) + Unseen Seer Spellcasting (Suel Archanamach) + Wild Mage Spellcasting (Suel Archanamach) + War Wizard of Cormyr Spellcasting (Suel Archanamach) + Acolyte of the Skin Spellcasting (Warmage) + Master Alchemist Spellcasting (Warmage) + Anima Mage Spellcasting (Warmage) + Archmage Spellcasting (Warmage) + Arcane Trickster Spellcasting (Warmage) + Disciple of Asmodeus Spellcasting (Warmage) + Bladesinger Spellcasting (Warmage) + Blood Magus Spellcasting (Warmage) + Bonded Summoner Spellcasting (Warmage) + Cerebremancer Spellcasting (Warmage) + Diabolist Spellcasting (Warmage) + Dragonheart Mage Spellcasting (Warmage) + Dragonsong Lyrist Spellcasting (Warmage) + Eldritch Knight Spellcasting (Warmage) + Enlightened Fist Spellcasting (Warmage) + Elemental Savant Spellcasting (Warmage) + Eldritch Theurge Spellcasting (Warmage) + Force Missile Mage Spellcasting (Warmage) + Frost Mage Spellcasting (Warmage) + Fochlucan Lyrist Spellcasting (Warmage) + Thrall of Graz'zt Spellcasting (Warmage) + Harper Mage Spellcasting (Warmage) + Hathran Spellcasting (Warmage) + Havoc Mage Spellcasting (Warmage) + Jade Phoenix Mage Spellcasting (Warmage) + Judicator Spellcasting (Warmage) + Maester Spellcasting (Warmage) + Mage Killer Spellcasting (Warmage) + Master Harper Spellcasting (Warmage) + Mystic Theurge Spellcasting (Warmage) + Noctumancer Spellcasting (Warmage) + Oozemaster Spellcasting (Warmage) + Pale Master Spellcasting (Warmage) + Rage Mage Spellcasting (Warmage) + Shadow Adept Spellcasting (Warmage) + Soulcaster Spellcasting (Warmage) + Spelldancer Spellcasting (Warmage) + Spellsword Spellcasting (Warmage) + Talon of Tiamat Spellcasting (Warmage) + Ultimate Magus Spellcasting (Warmage) + Unseen Spellcasting (Warmage) + Virtuoso Spellcasting (Warmage) + Wild Mage Spellcasting (Warmage) + War Wizard of Cormyr Spellcasting (Warmage) + Abjurant Champion Spellcasting (Wizard) + Acolyte of the Skin Spellcasting (Wizard) + Master Alchemist Spellcasting (Wizard) + Alienist Spellcasting (Wizard) + Anima Mage Spellcasting (Wizard) + Archmage Spellcasting (Wizard) + Arcane Trickster Spellcasting (Wizard) + Disciple of Asmodeus Spellcasting (Wizard) + Bladesinger Spellcasting (Wizard) + Blood Magus Spellcasting (Wizard) + Bonded Summoner Spellcasting (Wizard) + Cerebremancer Spellcasting (Wizard) + Diabolist Spellcasting (Wizard) + Dragonsong Lyrist Spellcasting (Wizard) + Eldritch Knight Spellcasting (Wizard) + Enlightened Fist Spellcasting (Wizard) + Eldritch Theurge Spellcasting (Wizard) + Elemental Savant Spellcasting (Wizard) + Force Missile Mage Spellcasting (Wizard) + Fochlucan Lyrist Spellcasting (Wizard) + Frost Mage Spellcasting (Wizard) + Thrall of Graz'zt Spellcasting (Wizard) + Harper Mage Spellcasting (Wizard) + Hathran Spellcasting (Wizard) + Havoc Mage Spellcasting (Wizard) + Jade Phoenix Mage Spellcasting (Wizard) + Drow Judicator Spellcasting (Wizard) + Maester Spellcasting (Wizard) + Mage Killer Spellcasting (Wizard) + Master Harper Spellcasting (Wizard) + Mystic Theurge Spellcasting (Wizard) + Noctumancer Spellcasting (Wizard) + Oozemaster Spellcasting (Wizard) + Pale Master Spellcasting (Wizard) + Rage Mage Spellcasting (Wizard) + Red Wizard Spellcasting (Wizard) + Shadow Adept Spellcasting (Wizard) + Soulcaster Spellcasting (Wizard) + Spelldancer Spellcasting (Wizard) + Spellsword Spellcasting (Wizard) + Talon of Tiamat Spellcasting (Wizard) + True Necromancer Spellcasting (Wizard) + Ultimate Magus Spellcasting (Wizard) + Unseen Spellcasting (Wizard) + Virtuoso Spellcasting (Wizard) + Wayfarer Guide Spellcasting (Wizard) + Wild Mage Spellcasting (Wizard) + War Wizard of Cormyr Spellcasting (Wizard) + Black Flame Zealot Spellcasting (Archivist) + Blightlord Spellcasting (Archivist) + Brimstone Speaker Spellcasting (Archivist) + Combat Medic Spellcasting (Archivist) + Contemplative Spellcasting (Archivist) + Eldritch Disciple Spellcasting (Archivist) + Fist of Raziel Spellcasting (Archivist) + Forest Master Spellcasting (Archivist) + Fochulan Lyrist Spellcasting (Archivist) + Hathran Spellcasting (Archivist) + Heartwarder Spellcasting (Archivist) + Hierophant Spellcasting (Archivist) + Hospitaler Spellcasting (Archivist) + Drow Judicator Spellcasting (Archivist) + Mighty Contender of Kord Spellcasting (Archivist) + Mystic Theurge Spellcasting (Archivist) + Ollam Spellcasting (Archivist) + Oozemaster Spellcasting (Archivist) + Thrall of Orcus Spellcasting (Archivist) + Psychic Theurge Spellcasting (Archivist) + Ruby Knight Vindicator Spellcasting (Archivist) + Runecaster Spellcasting (Archivist) + Sacred Fist Spellcasting (Archivist) + Sacred Purifier Spellcasting (Archivist) + Sapphire Hierarch Spellcasting (Archivist) + Sanctified Mind Spellcasting (Archivist) + Shadowbane Stalker Spellcasting (Archivist) + Shining Blade of Heironeous Spellcasting (Archivist) + Stormlord Spellcasting (Archivist) + Swift Wing Spellcasting (Archivist) + Battleguard of Tempus Spellcasting (Archivist) + Tenebrous Apostate Spellcasting (Archivist) + True Necromancer Spellcasting (Archivist) + Warpriest Spellcasting (Archivist) + Black Flame Zealot Spellcasting (Blackguard) + Blightlord Spellcasting (Blackguard) + Contemplative Spellcasting (Blackguard) + Eldritch Disciple Spellcasting (Blackguard) + Fochulan Lyrist Spellcasting (Blackguard) + Hospitaler Spellcasting (Blackguard) + Judicator Spellcasting (Blackguard) + Mystic Theurge Spellcasting (Blackguard) + Oozemaster Spellcasting (Blackguard) + Thrall of Orcus Spellcasting (Blackguard) + Psychic Theurge Spellcasting (Blackguard) + Ruby Knight Vindicator Spellcasting (Blackguard) + Runecaster Spellcasting (Blackguard) + Sacred Fist Spellcasting (Blackguard) + Sapphire Hierarch Spellcasting (Blackguard) + Stormlord Spellcasting (Blackguard) + Swift Wing Spellcasting (Blackguard) + Tenebrous Apostate Spellcasting (Blackguard) + Battleguard of Tempus Spellcasting (Blackguard) + Warpriest Spellcasting (Blackguard) + Black Flame Zealot Spellcasting (Blighter) + Blightlord Spellcasting (Blighter) + Contemplative Spellcasting (Blighter) + Eldritch Disciple Spellcasting (Blighter) + Fochulan Lyrist Spellcasting (Blighter) + Hierophant Spellcasting (Blighter) + Hospitaler Spellcasting (Blighter) + Judicator Spellcasting (Blighter) + Master of Shrouds Spellcasting (Blighter) + Mystic Theurge Spellcasting (Blighter) + Oozemaster Spellcasting (Blighter) + Thrall of Orcus Spellcasting (Blighter) + Psychic Theurge Spellcasting (Blighter) + Ruby Knight Vindicator Spellcasting (Blighter) + Runecaster Spellcasting (Blighter) + Sacred Fist Spellcasting (Blighter) + Sapphire Hierarch Spellcasting (Blighter) + Stormlord Spellcasting (Blighter) + Swift Wing Spellcasting (Blighter) + Tenebrous Apostate Spellcasting (Blighter) + True Necromancer Spellcasting (Blighter) + Warpriest Spellcasting (Blighter) + Black Flame Zealot Spellcasting (Cleric) + Blightlord Spellcasting (Cleric) + Brimstone Speaker Spellcasting (Cleric) + Combat Medic Spellcasting (Cleric) + Contemplative Spellcasting (Cleric) + Eldritch Disciple Spellcasting (Cleric) + Fist of Raziel Spellcasting (Cleric) + Fochulan Lyrist Spellcasting (Cleric) + Forest Master Spellcasting (Cleric) + Hathran Spellcasting (Cleric) + Heartwarder Spellcasting (Cleric) + Hierophant Spellcasting (Cleric) + Hospitaler Spellcasting (Cleric) + Drow Judicator Spellcasting (Cleric) + Master of Shrouds Spellcasting (Cleric) + Mighty Contender of Kord Spellcasting (Cleric) + Morninglord of Lathander Spellcasting (Cleric) + Mystic Theurge Spellcasting (Cleric) + Ollam Spellcasting (Cleric) + Oozemaster Spellcasting (Cleric) + Thrall of Orcus Spellcasting (Cleric) + Psychic Theurge Spellcasting (Cleric) + Ruby Knight Vindicator Spellcasting (Cleric) + Runecaster Spellcasting (Cleric) + Sacred Fist Spellcasting (Cleric) + Sacred Purifier Spellcasting (Cleric) + Sapphire Hierarch Spellcasting (Cleric) + Sanctified Mind Spellcasting (Cleric) + Shadowbane Stalker Spellcasting (Cleric) + Shining Blade of Heironeous Spellcasting (Cleric) + Stormlord Spellcasting (Cleric) + Swift Wing Spellcasting (Cleric) + Battleguard of Tempus Spellcasting (Cleric) + Tenebrous Apostate Spellcasting (Cleric) + True Necromancer Spellcasting (Cleric) + Warpriest Spellcasting (Cleric) + Brimstone Speaker Spellcasting (Slayer of Domiel) + Contemplative Spellcasting (Slayer of Domiel) + Eldritch Disciple Spellcasting (Slayer of Domiel) + Fist of Raziel Spellcasting (Slayer of Domiel) + Hathran Spellcasting (Slayer of Domiel) + Hospitaler Spellcasting (Slayer of Domiel) + Mystic Theurge Spellcasting (Slayer of Domiel) + Ollam Spellcasting (Slayer of Domiel) + Oozemaster Spellcasting (Slayer of Domiel) + Psychic Theurge Spellcasting (Slayer of Domiel) + Runecaster Spellcasting (Slayer of Domiel) + Sacred Fist Spellcasting (Slayer of Domiel) + Sacred Purifier Spellcasting (Slayer of Domiel) + Sapphire Hierarch Spellcasting (Slayer of Domiel) + Sanctified Mind Spellcasting (Slayer of Domiel) + Shadowbane Stalker Spellcasting (Slayer of Domiel) + Shining Blade of Heironeous Spellcasting (Slayer of Domiel) + Swift Wing Spellcasting (Slayer of Domiel) + Warpriest Spellcasting (Slayer of Domiel) + Talontar Blightlord Spellcasting (Druid) + Combat Medic Spellcasting (Druid) + Contemplative Spellcasting (Druid) + Eldritch Disciple Spellcasting (Druid) + Fochulan Lyrist Spellcasting (Druid) + Forest Master Spellcasting (Druid) + Hathran Spellcasting (Druid) + Hierophant Spellcasting (Druid) + Hospitaler Spellcasting (Druid) + Judicator Spellcasting (Druid) + Mystic Theurge Spellcasting (Druid) + Oozemaster Spellcasting (Druid) + Psychic Theurge Spellcasting (Druid) + Runecaster Spellcasting (Druid) + Sacred Fist Spellcasting (Druid) + Sacred Purifier Spellcasting (Druid) + Sanctified Mind Spellcasting (Druid) + Sapphire Hierarch Spellcasting (Druid) + Stormlord Spellcasting (Druid) + Swift Wing Spellcasting (Druid) + Warpriest Spellcasting (Druid) + Black Flame Zealot Spellcasting (Favoured Soul) + Blightlord Spellcasting (Favoured Soul) + Brimstone Speaker Spellcasting (Favoured Soul) + Combat Medic Spellcasting (Favoured Soul) + Contemplative Spellcasting (Favoured Soul) + Eldritch Disciple Spellcasting (Favoured Soul) + Fist of Raziel Spellcasting (Favoured Soul) + Forest Master Spellcasting (Favoured Soul) + Fochulan Lyrist Spellcasting (Favoured Soul) + Hathran Spellcasting (Favoured Soul) + Heartwarder Spellcasting (Favoured Soul) + Hierophant Spellcasting (Favoured Soul) + Hospitaler Spellcasting (Favoured Soul) + Drow Judicator Spellcasting (Favoured Soul) + Mighty Contender of Kord Spellcasting (Favoured Soul) + Morninglord of Lathander Spellcasting (Favoured Soul) + Mystic Theurge Spellcasting (Favoured Soul) + Ollam Spellcasting (Favoured Soul) + Oozemaster Spellcasting (Favoured Soul) + Thrall of Orcus Spellcasting (Favoured Soul) + Psychic Theurge Spellcasting (Favoured Soul) + Ruby Knight Vindicator Spellcasting (Favoured Soul) + Runecaster Spellcasting (Favoured Soul) + Sacred Fist Spellcasting (Favoured Soul) + Sacred Purifier Spellcasting (Favoured Soul) + Sanctified Mind Spellcasting (Favoured Soul) + Sapphire Hierarch Spellcasting (Favoured Soul) + Shadowbane Stalker Spellcasting (Favoured Soul) + Shining Blade of Heironeous Spellcasting (Favoured Soul) + Stormlord Spellcasting (Favoured Soul) + Swift Wing Spellcasting (Favoured Soul) + Battleguard of Tempus Spellcasting (Favoured Soul) + Tenebrous Apostate Spellcasting (Favoured Soul) + True Necromancer Spellcasting (Favoured Soul) + Warpriest Spellcasting (Favoured Soul) + Brimstone Speaker Spellcasting (Healer) + Combat Medic Spellcasting (Healer) + Contemplative Spellcasting (Healer) + Eldritch Disciple Spellcasting (Healer) + Fochulan Lyrist Spellcasting (Healer) + Hathran Spellcasting (Healer) + Heartwarder Spellcasting (Healer) + Hierophant Spellcasting (Healer) + Hospitaler Spellcasting (Healer) + Mighty Contender of Kord Spellcasting (Healer) + Morninglord of Lathander Spellcasting (Healer) + Mystic Theurge Spellcasting (Healer) + Ollam Spellcasting (Healer) + Oozemaster Spellcasting (Healer) + Psychic Theurge Spellcasting (Healer) + Runecaster Spellcasting (Healer) + Sacred Fist Spellcasting (Healer) + Sacred Purifier Spellcasting (Healer) + Sanctified Mind Spellcasting (Healer) + Sapphire Hierarch Spellcasting (Healer) + Shadowbane Stalker Spellcasting (Healer) + Shining Blade Spellcasting (Healer) + Swift Wing Spellcasting (Healer) + Warpriest Spellcasting (Healer) + Black Flame Zealot Spellcasting (Justice of Weald and Woe) + Blightlord Spellcasting (Justice of Weald and Woe) + Brimstone Speaker Spellcasting (Justice of Weald and Woe) + Combat Medic Spellcasting (Justice of Weald and Woe) + Contemplative Spellcasting (Justice of Weald and Woe) + Eldritch Disciple Spellcasting (Justice of Weald and Woe) + Fochulan Lyrist Spellcasting (Justice of Weald and Woe) + Hathran Spellcasting (Justice of Weald and Woe) + Heartwarder Spellcasting (Justice of Weald and Woe) + Hospitaler Spellcasting (Justice of Weald and Woe) + Drow Judicator Spellcasting (Justice of Weald and Woe) + Mighty Contender of Kord Spellcasting (Justice of Weald and Woe) + Mystic Theurge Spellcasting (Justice of Weald and Woe) + Ollam Spellcasting (Justice of Weald and Woe) + Oozemaster Spellcasting (Justice of Weald and Woe) + Thrall of Orcus Spellcasting (Justice of Weald and Woe) + Psychic Theurge Spellcasting (Justice of Weald and Woe) + Runecaster Spellcasting (Justice of Weald and Woe) + Sacred Fist Spellcasting (Justice of Weald and Woe) + Sacred Purifier Spellcasting (Justice of Weald and Woe) + Sanctified Mind Spellcasting (Justice of Weald and Woe) + Sapphire Hierarch Spellcasting (Justice of Weald and Woe) + Shadowbane Stalker Spellcasting (Justice of Weald and Woe) + Shining Blade of Heironeous Spellcasting (Justice of Weald and Woe) + Stormlord Spellcasting (Justice of Weald and Woe) + Swift Wing Spellcasting (Justice of Weald and Woe) + Tenebrous Apostate Spellcasting (Justice of Weald and Woe) + Battleguard of Tempus Spellcasting (Justice of Weald and Woe) + Warpriest Spellcasting (Justice of Weald and Woe) + Brimstone Speaker Spellcasting (Knight of the Chalice) + Combat Medic Spellcasting (Knight of the Chalice) + Contemplative Spellcasting (Knight of the Chalice) + Eldritch Disciple Spellcasting (Knight of the Chalice) + Fist of Raziel Spellcasting (Knight of the Chalice) + Fochulan Lyrist Spellcasting (Knight of the Chalice) + Hathran Spellcasting (Knight of the Chalice) + Hospitaler Spellcasting (Knight of the Chalice) + Mystic Theurge Spellcasting (Knight of the Chalice) + Ollam Spellcasting (Knight of the Chalice) + Psychic Theurge Spellcasting (Knight of the Chalice) + Runecaster Spellcasting (Knight of the Chalice) + Sacred Fist Spellcasting (Knight of the Chalice) + Sacred Purifier Spellcasting (Knight of the Chalice) + Sanctified Mind Spellcasting (Knight of the Chalice) + Sapphire Hierarch Spellcasting (Knight of the Chalice) + Shadowbane Stalker Spellcasting (Knight of the Chalice) + Shining Blade Spellcasting (Knight of the Chalice) + Swift Wing Spellcasting (Knight of the Chalice) + Warpriest Spellcasting (Knight of the Chalice) + Brimstone Speaker Spellcasting (Knight of the Middle Circle) + Combat Medic Spellcasting (Knight of the Middle Circle) + Contemplative Spellcasting (Knight of the Middle Circle) + Eldritch Disciple Spellcasting (Knight of the Middle Circle) + Fist of Raziel Spellcasting (Knight of the Middle Circle) + Fochulan Lyrist Spellcasting (Knight of the Middle Circle) + Hathran Spellcasting (Knight of the Middle Circle) + Heartwarder Spellcasting (Knight of the Middle Circle) + Hospitaler Spellcasting (Knight of the Middle Circle) + Mighty Contender of Kord Spellcasting (Knight of the Middle Circle) + Mystic Theurge Spellcasting (Knight of the Middle Circle) + Ollam Spellcasting (Knight of the Middle Circle) + Oozemaster Spellcasting (Knight of the Middle Circle) + Psychic Theurge Spellcasting (Knight of the Middle Circle) + Runecaster Spellcasting (Knight of the Middle Circle) + Sacred Fist Spellcasting (Knight of the Middle Circle) + Sacred Purifier Spellcasting (Knight of the Middle Circle) + Sanctified Mind Spellcasting (Knight of the Middle Circle) + Sapphire Hierarch Spellcasting (Knight of the Middle Circle) + Shadowbane Stalker Spellcasting (Knight of the Middle Circle) + Shining Blade Spellcasting (Knight of the Middle Circle) + Swift Wing Spellcasting (Knight of the Middle Circle) + Warpriest Spellcasting (Knight of the Middle Circle) + Brimstone Speaker Spellcasting (Nentyar Hunter) + Combat Medic Spellcasting (Nentyar Hunter) + Contemplative Spellcasting (Nentyar Hunter) + Eldritch Disciple Spellcasting (Nentyar Hunter) + Forest Master Spellcasting (Nentyar Hunter) + Fochulan Lyrist Spellcasting (Nentyar Hunter) + Hathran Spellcasting (Nentyar Hunter) + Hospitaler Spellcasting (Nentyar Hunter) + Mighty Contender of Kord Spellcasting (Nentyar Hunter) + Mystic Theurge Spellcasting (Nentyar Hunter) + Ollam Spellcasting (Nentyar Hunter) + Oozemaster Spellcasting (Nentyar Hunter) + Psychic Theurge Spellcasting (Nentyar Hunter) + Runecaster Spellcasting (Nentyar Hunter) + Sacred Fist Spellcasting (Nentyar Hunter) + Sacred Purifier Spellcasting (Nentyar Hunter) + Sanctified Mind Spellcasting (Nentyar Hunter) + Sapphire Hierarch Spellcasting (Nentyar Hunter) + Shadowbane Stalker Spellcasting (Nentyar Hunter) + Shining Blade Spellcasting (Nentyar Hunter) + Swift Wing Spellcasting (Nentyar Hunter) + Warpriest Spellcasting (Nentyar Hunter) + Black Flame Zealot Spellcasting (Ocular Adept) + Blightlord Spellcasting (Ocular Adept) + Eldritch Disciple Spellcasting (Ocular Adept) + Hierophant Spellcasting (Ocular Adept) + Hospitaler Spellcasting (Ocular Adept) + Master of Shrouds Spellcasting (Ocular Adept) + Mystic Theurge Spellcasting (Ocular Adept) + Oozemaster Spellcasting (Ocular Adept) + Psychic Theurge Spellcasting (Ocular Adept) + Runecaster Spellcasting (Ocular Adept) + Sacred Fist Spellcasting (Ocular Adept) + True Necromancer Spellcasting (Ocular Adept) + Warpriest Spellcasting (Ocular Adept) + Brimstone Speaker Spellcasting (Paladin) + Contemplative Spellcasting (Paladin) + Fist of Raziel Spellcasting (Paladin) + Hathran Spellcasting (Paladin) + Hospitaler Spellcasting (Paladin) + Morninglord of Lathander Spellcasting (Paladin) + Mystic Theurge Spellcasting (Paladin) + Ollam Spellcasting (Paladin) + Oozemaster Spellcasting (Paladin) + Psychic Theurge Spellcasting (Paladin) + Ruby Knight Vindicator Spellcasting (Paladin) + Runecaster Spellcasting (Paladin) + Sacred Fist Spellcasting (Paladin) + Sacred Purifier Spellcasting (Paladin) + Sanctified Mind Spellcasting (Paladin) + Sapphire Hierarch Spellcasting (Paladin) + Shadowbane Stalker Spellcasting (Paladin) + Shining Blade Spellcasting (Paladin) + Swift Wing Spellcasting (Paladin) + Warpriest Spellcasting (Paladin) + Black Flame Zealot Spellcasting (Ranger) + Blightlord Spellcasting (Ranger) + Brimstone Speaker Spellcasting (Ranger) + Combat Medic Spellcasting (Ranger) + Contemplative Spellcasting (Ranger) + Eldritch Disciple Spellcasting (Ranger) + Forest Master Spellcasting (Ranger) + Fochulan Lyrist Spellcasting (Ranger) + Hathran Spellcasting (Ranger) + Heartwarder Spellcasting (Ranger) + Hospitaler Spellcasting (Ranger) + Drow Judicator Spellcasting (Ranger) + Mighty Contender of Kord Spellcasting (Ranger) + Morninglord of Lathander Spellcasting (Ranger) + Mystic Theurge Spellcasting (Ranger) + Ollam Spellcasting (Ranger) + Oozemaster Spellcasting (Ranger) + Thrall of Orcus Spellcasting (Ranger) + Psychic Theurge Spellcasting (Ranger) + Runecaster Spellcasting (Ranger) + Sacred Fist Spellcasting (Ranger) + Sacred Purifier Spellcasting (Ranger) + Sanctified Mind Spellcasting (Ranger) + Sapphire Hierarch Spellcasting (Ranger) + Shadowbane Stalker Spellcasting (Ranger) + Shining Blade Spellcasting (Ranger) + Stormlord Spellcasting (Ranger) + Swift Wing Spellcasting (Ranger) + Battleguard of Tempus Spellcasting (Ranger) + Tenebrous Apostate Spellcasting (Ranger) + Warpriest Spellcasting (Ranger) + Black Flame Zealot Spellcasting (Shaman) + Blightlord Spellcasting (Shaman) + Brimstone Speaker Spellcasting (Shaman) + Combat Medic Spellcasting (Shaman) + Contemplative Spellcasting (Shaman) + Eldritch Disciple Spellcasting (Shaman) + Fochulan Lyrist Spellcasting (Shaman) + Forest Master Spellcasting (Shaman) + Hathran Spellcasting (Shaman) + Heartwarder Spellcasting (Shaman) + Hierophant Spellcasting (Shaman) + Hospitaler Spellcasting (Shaman) + Drow Judicator Spellcasting (Shaman) + Master of Shrouds Spellcasting (Shaman) + Mighty Contender of Kord Spellcasting (Shaman) + Morninglord of Lathander Spellcasting (Shaman) + Mystic Theurge Spellcasting (Shaman) + Ollam Spellcasting (Shaman) + Oozemaster Spellcasting (Shaman) + Thrall of Orcus Spellcasting (Shaman) + Psychic Theurge Spellcasting (Shaman) + Ruby Knight Vindicator Spellcasting (Shaman) + Runecaster Spellcasting (Shaman) + Sacred Fist Spellcasting (Shaman) + Sacred Purifier Spellcasting (Shaman) + Sanctified Mind Spellcasting (Shaman) + Sapphire Hierarch Spellcasting (Shaman) + Shadowbane Stalker Spellcasting (Shaman) + Shining Blade Spellcasting (Shaman) + Stormlord Spellcasting (Shaman) + Swift Wing Spellcasting (Shaman) + Tenebrous Apostate Spellcasting (Shaman) + Battleguard of Tempus Spellcasting (Shaman) + True Necromancer Spellcasting (Shaman) + Warpriest Spellcasting (Shaman) + Black Flame Zealot Spellcasting (Sohei) + Blightlord Spellcasting (Sohei) + Brimstone Speaker Spellcasting (Sohei) + Contemplative Spellcasting (Sohei) + Eldritch Disciple Spellcasting (Sohei) + Fist of Raziel Spellcasting (Sohei) + Fochulan Lyrist Spellcasting (Sohei) + Hathran Spellcasting (Sohei) + Hospitaler Spellcasting (Sohei) + Drow Judicator Spellcasting (Sohei) + Mystic Theurge Spellcasting (Sohei) + Ollam Spellcasting (Sohei) + Oozemaster Spellcasting (Sohei) + Thrall of Orcus Spellcasting (Sohei) + Psychic Theurge Spellcasting (Sohei) + Runecaster Spellcasting (Sohei) + Sacred Fist Spellcasting (Sohei) + Sacred Purifier Spellcasting (Sohei) + Sanctified Mind Spellcasting (Sohei) + Sapphire Hierarch Spellcasting (Sohei) + Shining Blade Spellcasting (Sohei) + Swift Wing Spellcasting (Sohei) + Tenebrous Apostate Spellcasting (Sohei) + Warpriest Spellcasting (Sohei) + Brimstone Speaker Spellcasting (Soldier of Light) + Combat Medic Spellcasting (Soldier of Light) + Contemplative Spellcasting (Soldier of Light) + Eldritch Disciple Spellcasting (Soldier of Light) + Fochulan Lyrist Spellcasting (Soldier of Light) + Hathran Spellcasting (Soldier of Light) + Hospitaler Spellcasting (Soldier of Light) + Morninglord of Lathander Spellcasting (Soldier of Light) + Mystic Theurge Spellcasting (Soldier of Light) + Oozemaster Spellcasting (Soldier of Light) + Psychic Theurge Spellcasting (Soldier of Light) + Runecaster Spellcasting (Soldier of Light) + Sacred Fist Spellcasting (Soldier of Light) + Sacred Purifier Spellcasting (Soldier of Light) + Sanctified Mind Spellcasting (Soldier of Light) + Swift Wing Spellcasting (Soldier of Light) + Warpriest Spellcasting (Soldier of Light) + Black Flame Zealot Spellcasting (Spirit Shaman) + Blightlord Spellcasting (Spirit Shaman) + Brimstone Speaker Spellcasting (Spirit Shaman) + Combat Medic Spellcasting (Spirit Shaman) + Contemplative Spellcasting (Spirit Shaman) + Eldritch Disciple Spellcasting (Spirit Shaman) + Fochulan Lyrist Spellcasting (Spirit Shaman) + Forest Master Spellcasting (Spirit Shaman) + Hathran Spellcasting (Spirit Shaman) + Heartwarder Spellcasting (Spirit Shaman) + Hierophant Spellcasting (Spirit Shaman) + Hospitaler Spellcasting (Spirit Shaman) + Drow Judicator Spellcasting (Spirit Shaman) + Mighty Contender of Kord Spellcasting (Spirit Shaman) + Mystic Theurge Spellcasting (Spirit Shaman) + Ollam Spellcasting (Spirit Shaman) + Thrall of Orcus Spellcasting (Spirit Shaman) + Psychic Theurge Spellcasting (Spirit Shaman) + Runecaster Spellcasting (Spirit Shaman) + Sacred Fist Spellcasting (Spirit Shaman) + Sacred Purifier Spellcasting (Spirit Shaman) + Sanctified Mind Spellcasting (Spirit Shaman) + Sapphire Hierarch Spellcasting (Spirit Shaman) + Shadowbane Stalker Spellcasting (Spirit Shaman) + Shining Blade Spellcasting (Spirit Shaman) + Stormlord Spellcasting (Spirit Shaman) + Swift Wing Spellcasting (Spirit Shaman) + Battleguard Tempus Spellcasting (Spirit Shaman) + Tenebrous Apostate Spellcasting (Spirit Shaman) + Warpriest Spellcasting (Spirit Shaman) + Black Flame Zealot Spellcasting (Ur-Priest) + Contemplative Spellcasting (Ur-Priest) + Eldritch Disciple Spellcasting (Ur-Priest) + Hierophant Spellcasting (Ur-Priest) + Hospitaler Spellcasting (Ur-Priest) + Drow Judicator Spellcasting (Ur-Priest) + Mystic Theurge Spellcasting (Ur-Priest) + Oozemaster Spellcasting (Ur-Priest) + Psychic Theurge Spellcasting (Ur-Priest) + Runecaster Spellcasting (Ur-Priest) + Sacred Fist Spellcasting (Ur-Priest) + Sapphire Hierarch Spellcasting (Ur-Priest) + Swift Wing Spellcasting (Ur-Priest) + Tenebrous Apostate Spellcasting (Ur-Priest) + True Necromancer Spellcasting (Ur-Priest) + Warpriest Spellcasting (Ur-Priest) + Brimstone Speaker Spellcasting (Vassal of Bahamut) + Contemplative Spellcasting (Vassal of Bahamut) + Fist of Raziel (Vassal of Bahamut) + Hathran Spellcasting (Vassal of Bahamut) + Hospitaler Spellcasting (Vassal of Bahamut) + Mystic Theurge Spellcasting (Vassal of Bahamut) + Ollam Spellcasting (Vassal of Bahamut) + Oozemaster Spellcasting (Vassal of Bahamut) + Psychic Theurge Spellcasting (Vassal of Bahamut) + Runecaster Spellcasting (Vassal of Bahamut) + Sacred Fist Spellcasting (Vassal of Bahamut) + Sacred Purifier Spellcasting (Vassal of Bahamut) + Sanctified Mind Spellcasting (Vassal of Bahamut) + Sapphire Hierarch Spellcasting (Vassal of Bahamut) + Shadowbane Stalker Spellcasting (Vassal of Bahamut) + Shining Blade Spellcasting (Vassal of Bahamut) + Swift Wing Spellcasting (Vassal of Bahamut) + Warpriest Spellcasting (Vassal of Bahamut) + Disciple of Asmodeus Spellcasting (N/A) + Talon of Tiamat Spellcasting (N/A) + Dragonsong Lyrist Spellcasting (N/A) + Ollam Spellcasting (N/A) + Combat Medic Spellcasting (Paladin) + Morninglord of Lathander Spellcasting (Sohei) + Bardic Casting: Gloura cast spells as a Bard of their hit dice (7th level). + Sorcerous Casting: Driders cast spells as a Sorcerer of their hit dice (6th level). + Sorcerous Casting: Arkamoi cast spells as a Sorcerer of their hit dice (4th level). + Sorcerous Casting: Marrutact cast spells as a Sorcerer of their hit dice (7th level). + Sorcerous Casting: Redspawn Arcaniss cast spells as a Sorcerer of their hit dice (8th level). + Sorcerous Casting: Rakshasa cast spells as a Sorcerer of their hit dice (7th level). + Sorcerous Casting: Aranea cast spells as a Sorcerer of their hit dice (3rd level). + Spellcasting: At each level, you gain new spells per day and an increase in caster level (and spells known, if applicable) as if you had also gained a level in an arcane spellcasting class to which you belonged before adding the prestige class level. You do not, however, gain any other benefit a character of that class would have gained. If you had more than one arcane spellcasting class before becoming an abjurant champion, you must decide to which class to add each level for the purpose of determining spells per day, caster level, and spells known. + Spells per Day/Spells Known: At each even-numbered level, an acolyte of the skin gains new spells per day (and spells known, if applicable) as if he had also gained a level in a spellcasting class to which he belonged before adding the prestige class level. He does not, however, gain any other benefit a character of that class would have gained (improved chance of turning or destroying undead, a bonus feat, and so on). If he had more than one spellcasting class before becoming an acolyte of the skin, he must decide to which class to add each level for the purpose of determining spells per day and spells known. + Spells per Day: A master alchemist's training focuses on magic. Thus, when a character gains a new level of master alchemist, she gains new spells per day as if she had also gained a level in whatever spellcasting class she belonged to before she added the prestige class. She does not, however, gain any other benefit a character of that class would have gained (improved chance of controlling or rebuking undead, metamagic or item creation feats, and so on). + Spells per Day/Spells Known: At each level, an alienist gains new spells per day (and spells known, if applicable) as if she had also gained a level in a spellcasting class to which she belonged before adding the prestige class level. She does not, however, gain any other benefit a character of that class would have gained (improved chance of turning or destroying undead, a bonus feat, and so on). If she had more than one spellcasting class before becoming an alienist, she must decide to which class to add each level for the purpose of determining spells per day and spells known. + Spellcasting: At each anima mage level, you gain new spells per day and an increase in caster level (and spells known, if applicable) as if you had also gained a level in an arcane spellcasting class to which you belonged before adding the prestige class level. You do not, however, gain any other benefit a character of that class would have gained. If you had more than one arcane spellcasting class before becoming an anima mage, you must decide to which class to add each level for the purpose of determining spells per day, caster level, and spells known. + Spells per Day/Spells Known: When a new archmage level is gained, the character gains new spells per day (and spells known, if applicable) as if he had also gained a level in whatever arcane spellcasting class in which he could cast 7th-level spells before he added the prestige class level. He does not, however, gain any other benefit a character of that class would have gained. If a character had more than one arcane spellcasting class in which he could cast 7th-level spells before he became an archmage, he must decide to which class he adds each level of archmage for the purpose of determining spells per day. + Spells per Day: When a new arcane trickster level is gained, the character gains new spells per day as if he had also gained a level in a spellcasting class he belonged to before adding the prestige class. He does not, however, gain any other benefit a character of that class would have gained, except for an increased effective level of spellcasting. If a character had more than one spellcasting class before becoming an arcane trickster, he must decide to which class he adds the new level for purposes of determining spells per day. + Spells: When a disciple of Asmodeus attains 1st level, and at every other level after that, the character gains new spells per day as if he had also gained a level in whatever spellcasting class he belonged to before he added the prestige class. He does not, however, gain any other benefit a character of that class would have gained (improved chance of controlling or rebuking undead, metamagic or item creation feats, hit points beyond those received from the prestige class, and so on), except for an increased effective level of spellcasting. This essentially means that he adds the new level of disciple of Asmodeus to the level of whatever other spellcasting class the character has, then determines spells per day, spells known, and caster level accordingly. + Spells per Day: At every oddnumbered level gained in the bladesinger class, the character gains new spells per day as if she had also gained a level in an arcane spellcasting class she belonged to before adding the prestige class. She does not, however, gain any other benefit a character of that class would have gained, except for an increased effective level of spellcasting. If a character had more than one arcane spellcasting class be fore becoming a bladesinger, she must decide to which class she adds the new level for purposes of determining spells per day. + Spells per Day/Spells Known: At each level except 5th and 10th, a blood magus gains new spells per day (and spells known, if applicable) as if he had also gained a level in an arcane spellcasting class to which he belonged before adding the prestige class level. He does not, however, gain any other benefit a character of that class would have gained (such as the bonus feat sometimes gained by a wizard). If he had more than one arcane spellcasting class before becoming a blood magus, he must decide to which class to add each level for the purpose of determining spells per day and spells known. + Spells per Day: At every even numbered level gained in the bonded summoner class, the character gains new spells per day as if he had also gained a level in an arcane spellcasting class he belonged to before adding the prestige class. He does not, however, gain all the benefits a character of that class would have gained (metamagic or item creation feats, and so on), except for an increased effective level of spellcasting. If a character had more than one arcane spellcasting class before becoming a bonded summoner, he must decide to which class he adds the new level for purposes of determining spells per day. + Spells per Day/Powers Known: When a new cerebremancer level is attained, the character gains new spells per day as if he had also attained a level in any one arcane spellcasting class he belonged to before he added the prestige class. He gains additional power points per day and access to new powers as if he had also gained a level in any one manifesting class he belonged to previously. He does not, however, gain any other benefit a character of either class would have gained (bonus metamagic, metapsionic, or item creation feats, psicrystal special abilities, and so on). This essentially means that he adds the level of cerebremancer to the level of whatever other arcane spellcasting class and manifesting class the character has, then determines spells per day, caster level, power points per day, powers known, and manifester level accordingly. + Spells: When a diabolist attains 1st level, and at every other level after that, the character gains new spells per day as if he had also gained a level in whatever spellcasting class he belonged to before he added the prestige class. He does not, however, gain any other benefit a character of that class would have gained (improved chance of controlling or rebuking undead, metamagic or item creation feats, hit points beyond those received from the prestige class, and so on), except for an increased effective level of spellcasting. This essentially means that he adds the new level of diabolist to the level of whatever other spellcasting class the character has, then determines spells per day, spells known, and caster level accordingly. + Spellcasting: At each level except 1st and 6th, you gain new spells per day and an increase in caster level (and spells known, if applicable) as if you had also gained a level in a spellcasting class to which you belonged before adding the prestige class level. You do not, however, gain any other benefit a character of that class would have gained. If you had more than one spellcasting class before becoming a dragonheart mage, you must decide to which class to add each level for the purpose of determining spells per day, caster level, and spells known. + Spellcasting: Each time an even-numbered dragonsong lyrist level is gained, the character gains new spells per day and spells known as if she had also gained a level in a spellcasting class she belonged to before she added the prestige class. She does not, however, gain any other benefit a character of that class would have gained (improved chance of controlling or rebuking undead, metamagic or item creation feats, and so on). This essentially means that the character adds 1/2 her dragonsong lyrist level to the level of whatever spellcasting class she has, then determines spells per day and caster level accordingly. + Spells per Day: From 2nd level on, when a new eldritch knight level is gained, the character gains new spells per day as if she had also gained a level in whatever arcane spellcasting class she belonged to before she added the prestige class. She does not, however, gain any other benefit a character of that class would have gained (bonus metamagic or item creation feats, bard or assassin abilities, and so on). This essentially means that she adds the level of eldritch knight to the level of whatever other arcane spellcasting class the character has, then determines spells per day and caster level accordingly. If a character had more than one arcane spellcasting class before she became an eldritch knight, she must decide to which class she adds levels of eldritch knight for the purpose of determining spells per day. + Spells per Day/Spells Known: Except at 1st level and 6th level, an enlightened fist gains new spells per day (and spells known, if applicable) as if she had also gained a level in an arcane spellcasting class to which she belonged before adding the prestige class level. She does not, however, gain any other benefit a character of that class would have gained (such as the bonus feat sometimes gained by a wizard). If she had more than one arcane spellcasting class before becoming an enlightened fist, she must decide to which class to add each level for the purpose of determining spells per day and spells known. + Spells per Day/Spells Known: At each level except 5th and 10th, an elemental savant gains new spells per day (and spells known, if applicable) as if she had also gained a level in an arcane spellcasting class to which she belonged before adding the prestige class level. She does not, however, gain any other benefit a character of that class would have gained. If she had more than one arcane spellcasting class before becoming an elemental savant, she must decide to which class to add each level for the purpose of determining spells per day and spells known. + Spellcasting: At each level, you gain new spells per day and an increase in caster level (and spells known, if applicable) as if you had also gained a level in an arcane spellcasting class (but not an invocation-using class) to which you belonged before adding the prestige class level. You do not, however, gain any other benefit a character of that class would have gained. If you had more than one arcane spellcasting class before becoming an eldritch theurge, you must decide to which class to add levels to for the purpose of determining spells per day, caster level, and spells known. + Spells per Day/Spells Known: At each level, a Fochlucan lyrist gains new spells per day (and spells known, if applicable) as if she had also gained a level in any one arcane spellcasting class and any one divine spellcasting class to which she belonged before adding the prestige class level. She does not, however, gain any other benefit a character of that class would have gained. If she had more than one arcane spellcasting class or divine spellcasting class before becoming a Fochlucan lyrist, she must decide to which class to add each Fochlucan lyrist level for the purpose of determining spells per day, spells known, and overall caster level. + Spells: A force missile mage continues training in magic as he gains levels. At each level after 1st, the force missile mage gains new spells per day (and spells known, if applicable) as if he had also gained a level in an spellcasting class he belonged to before he added the prestige class. He does not, however, gain any other benefit a character of that class would have gained. If the character has levels in more than one spellcasting class before becoming a force missile mage, he must decide to which class he adds each level of force missile mage for the purposes of determining spells per day. + Spells per Day/Spells Known: At every level gained in the frost mage class, the character gains new spells per day (and spells known, if applicable) as if he had also gained a level in a spellcasting class he belonged to before adding the prestige class. He does not, however, gain any other benefit a character of that class would have gained (metamagic or item creation bonus feats, hit points beyond those he receives from the prestige class, and so on), except for an increased effective level of spellcasting. If a character has more than one spellcasting class before becoming a frost mage, he must decide to which class he adds the new level for purposes of determining spells per day and spells known. + Spells: When a thrall of Graz'zt gains 1st level, and every two levels after that (plus 10th level), the character gains new spells per day as if she had also gained a level in whatever spellcasting class she belonged to before she added the prestige class. She does not, however, gain any other benefit a character of that class would have gained (improved chance of controlling or rebuking undead, metamagic or item creation feats, hit points, beyond those received from the prestige class, and so on), except for an increased effective level of spellcasting. This essentially means that she adds the new level of thrall of Graz'zt to the level of whatever other spellcasting class the character has, then determines spells per day, spells known, and caster level accordingly. + Spells per Day/Spells Known: A Harper mage's training focuses on magic. Thus, when a character gains a new level of Harper mage, she gains new spells per day as if she had also gained a level in whatever arcane spellcasting class she belonged to before she added the prestige class. She does not, however, gain any other benefit a character of that class would have gained (metamagic or item creation feats, for example). + Spells per Day: A hathran's training focuses on arcane or divine spells. Every second level, the hathran gains new spells per day as if she had also gained a level in her highest arcane and divine classes. She does not learn any new arcane spells through this ability, however. She does not, gain any other benefit a character of that class would have gained (improved chance of controlling or rebuking undead, metamagic or item creation feats, and so on). This essentially means that she adds the level of hathran to the level of whatever other spellcasting class the character has, then determines spells per day and caster level accordingly. Since all hathrans are multiclasss spellcasters, some choose to expand their skill in arcane, others the divine, and the remainder strike a balance between the two. + Spells per Day: At 2nd, 4th, and 5th level, a havoc mage gains new spells per day as if he had also gained a level in an arcane spellcasting class he belonged to before adding the prestige class. He does not, however, gain all the benefits a character of that class would have gained (metamagic or item creation feats, and so on), except for an increased effective level of spellcasting. If a character had more than one arcane spellcasting class before becoming a havoc mage, he must decide to which class he adds the levels to for purposes of determining spells per day. + Spellcasting: At each level except 1st and 6th, you gain new spells per day and an increase in caster level (and spells known, if applicable) as if you had also gained a level in an arcane spellcasting class to which you belonged before adding the prestige class level. You do not, however, gain any other benefit a character of that class would have gained. If you had more than one arcane spellcasting class before becoming a Jade Phoenix mage, you must decide to which class to add each level for the purpose of determining spells per day, caster level, and spells known. + Spells per Day: At every third drow judicator level, the character gains new spells per day (and spells known, if applicable) as if he had also gained a level in a spellcasting class to which he belonged before adding the prestige class level (for male drow, this is usually an arcane spellcasting class, although male clerics of Selvetarm sometimes become drow judicators). He does not, however, gain any other benefit a character of that class would have gained (improved chance of turning or rebuking undead, metamagic or item creation feats, and the like). + Spells per Day/Spells Known: Beginning at 2nd level, a maester gains new spells per day (and spells known, if applicable) as if he had also gained a level in a spellcasting class to which he belonged before adding the prestige class level He does not, however, gain any other benefit a character of that class would have gained, if he had more than one spellcasting class before becoming a maester, he must decide to which class to add each level for the purpose of determining spells per day and spells known. + Spells per Day: A mage-killer's training focuses on magic. Thus, when a character gains a new level of mage-killer, she gains new spells per day as if she had also gained a level in whatever spellcasting class she belonged to before she added the prestige class. She does not, however, gain any other benefit a character of that class would have gained (improved chance of controlling or rebuking undead, metamagic or item creation feats, and so on). + Spells per Day: A master Harper continues training in magic as well as Harper lore. Thus, when a new master Harper level is gained, the character gains new spells per day as if she had also gained a level in a spellcasting class she belonged to before she added the prestige class. If the master Harper adds a spellcasting level to a class that keeps a personal spell list, such as bard or sorcerer, she add spells to her list as though adding a level of that class. If she adds spellcasting levels to a class that keeps spellbooks, such as wizards, she gains two new spells for her spellbooks, just as if she had gained a level in that class. She does not, however, gain any other benefit a character of that class would have gained (improved chance of controlling or rebuking undead, metamagic or item creation feats, and so on). This essentially means that she adds the level of master Harper to the level of some other spellcasting class the character has, then determines spells per day and caster level accordingly. + Spells per Day: When a new mystic theurge level is gained, the character gains new spells per day as if he had also gained a level in any one arcane spellcasting class he belonged to before he added the prestige class and any one divine spellcasting class he belonged to previously. He does not, however, gain any other benefit a character of that class would have gained (bonus metamagic or item creation feats, bard or assassin abilities, and so on). This essentially means that he adds the level of mystic theurge to the level of whatever other arcane spellcasting class and divine spellcasting class the character has, then determines spells per day and caster level accordingly. + Mysteries/Spellcasting: At each level, you gain new mysteries or spells per day and an increase in caster level (and mysteries or spells known, if applicable) as if you had also gained a level in both your mystery-using class and your arcane spellcasting class. You do not, however, gain any other benefits a character of these classes would have gained. If you had more than one mystery-using or arcane spellcasting class before becoming a noctumancer, you must decide to which class to add each level for the purpose of determining spells per day, caster level, and spells known. + Spells per Day/Spells Known: At 2nd level and every other oozemaster level thereafter, the character gains new spells per day (and spells known, if applicable) as if he had also gained a level in a spellcasting class to which he belonged before adding the prestige class. He does nor, however, gain any other benefit a character of that class would have gained (additional wild shape options, metamagic or item creation feats, or the like). If the character had more than one spellcasting class before becoming an oozemaster, the player must decide to which class to add each oozemaster level for determining spells per day and spells known. + Spells per Day: At every second level gained in the pale master class, the character gains new spells per day as if he had also gained a level in an arcane spellcasting class he belonged to before adding the prestige class. He does not, however, gain any other benefit a character of that class would have gained (improved chance of controlling or rebuking undead, metamagic or item creation feats, hit points beyond those he receives from the prestige class, and so on), except for an increased effective level of spellcasting. If a character had more than one spellcasting class before becoming a pale master, he must decide to which class he adds the new level for purposes of determining spells per day. + Spells per Day: At every even-numbered level gained in the rage mage class, the character gains new spells per day as if she had also gained a level in an arcane spellcasting class she belonged to before adding the prestige class. In no case, however, does she gain any other benefit a character of that class would have gained, except for an increased effective level of spellcasting (but see spell rage, below). if a character had more than one arcane spellcasting class before becoming a rage mage, she must decide to which class she adds the new level for purposes of determining spells per day. + Spells per Day: A Red Wizard's training focuses on arcane spells. Thus, when a new Red Wizard level is gained, the character gains new spells per day as if he had also gained a level in whatever arcane spellcasting class he belonged to before he added the prestige class. He does not, however, gain any other benefit a character of that class would have gained (bonus metamagic or item creation feats, bard or assassin abilities, and so on). This essentially means that he adds the level of Red Wizard to the level of whatever other arcane spellcasting class the character has, then determines spells per day and caster level accordingly. + Spells per Day: A shadow adept's training focuses on magic. Thus, when a new shadow adept level is gained, the character gains new spells per day as if he had also gained a level in whatever spellcasting class he belonged to before he added the prestige class. He does not, however, gain any other benefit a character of that class would have gained (improved chance of controlling of rebuking undead, metamagic or item creation feats, and so on). This essentially means that he adds the level of shadow adept to the level of whatever other spellcasting class the character has, then determines spells per and caster level accordingly. + Spellcasting: At each soulcaster level, you gain new spells per day and an increase in caster level (and spells known, if applicable) as if you had also gained a level in an arcane spellcasting class to which you belonged before adding the prestige class level. You do not, however, gain any other benefit a character of that class would have gained. If you had more than one arcane spellcasting class before becoming a soulcaster, you must decide to which class to add to for the purpose of determining spells per day, caster level, and spells known. + Spells per Day: When a character gains a new level of spelldancer, she gains new spells per day as if she had also gained a level in whatever spellcasting class she belonged to before she added the prestige class. She does not, however, gain any other benefit a character of that class would have gained (improved chance of controlling or rebuking undead, metamagic or item creation feats, and so on). + Spells per Day: At every odd-numbered level, a spellsword gains new spells per day as if he had also gained a level in an arcane spellcasting class he belonged to before adding the prestige class. He does not, however, gain any other benefit a character of that class would have gained (metamagic or item creation feats, and so on), save for an increased effective level of spellcasting. If a character had more than one spellcasting class before becoming a spellsword, he must decide to which class he adds the new levels to for purposes of determining spells per day. + Spellcasting: When an even-numbered talon of Tiamat level is gained, the character gains new spells per day as if he had also gained a level in an arcane spellcasting class he belonged to before he added the prestige class. He does not, however, gain any other benefit a character of that class would have gained. This essentially means that he adds 1/2 his talon of Tiamat level to the level of some other arcane spellcasting class he has, then determines spells per day and caster level accordingly. + Spells per Day/Spells Known: A true necromancer gains new spells per day (and spells known, if applicable) as if she had also gained a level in either an arcane spellcasting class she belonged to before adding the prestige class, a divine spellcasting class she belonged to before adding the prestige class, or both, according to the accompanying table. She does not, however, gain any other benefit a character of that class would have gained (metamagic or item creation feats and so on; but see Improved Rebuking and Necromantic Prowess, below). If she had more than one arcane or divine spellcasting class before becoming a true necromancer, she must decide to which class she adds the levels for purposes of determining spells per day and spells known. + Spellcasting: At each level except 1st, 4th, and 7th, you gain new spells per day and an increase in caster level (and spells known, if applicable) as if you had also gained a level in both a prepared arcane casting class and a spontaneous arcane casting class to which you belonged before adding the prestige class level. You do not, however, gain any other benefit a character of those classes would have gained. At 1st, 4th, and 7th level, you gain new spells per day and an increase in caster level (and spells known, if applicable) as if you had also gained a level in your arcane spellcasting class with the lowest caster level. + Spellcasting: At each level, you gain new spells per day and an increase in caster level (and spells known, if applicable) as if you had also gained a level in an arcane spellcasting class to which you belonged before adding the prestige class level. You do not, however, gain any other benefit a character of that class would have gained. If you had more than one arcane spellcasting class before becoming an unseen seer, you must decide to which class to add levels to for the purpose of determining spells per day, caster level, and spells known. + Spells per Day: Starting at second level, when a character gains a new level of virtuoso, she gains new spells per day as if she had also gained a level in whatever arcane spellcasting class she belonged to before she added the prestige class. She does not, however, gain any other benefit a character of that class would have gained (metamagic or item creation feats, and so on). + Spells per Day/Spells Known: At 1st and 3rd level, a wayfarer guide gains new spells per day (and spells known, if applicable) as if she had also gained a level in a spellcasting class to which she belonged before adding the prestige class level. She does not, however, gain any other benefit a character of that class would have gained (improved chance of turning or destroying undead, a bonus feat, and so on). If she had more than one spellcasting class before becoming a wayfarer guide, she must decide to which class to add level to for the purpose of determining spells per day and spells known. + Spells per Day/Spells Known: At each level, a wild mage gains new spells per day (and spells known, if applicable) as if she had also gained a level in an arcane spellcasting class to which she belonged before adding the prestige class level. She does not, however, gain any other benefit a character of that class would have gained (such as the bonus feat sometimes gained by a wizard). If she had more than one arcane spellcasting class before becoming a wild mage, she must decide to which class to add levels to for the purpose of determining spells per day and spells known. + Spells per Day: A war wizard's training focuses on magic. Thus, when a character gains a new level of war wizard, she gains new spells per day as if she had also gained a level in whatever arcane spellcasting class she belonged to before she added the prestige class. She does not, however, gain any other benefit a character of that class would have gained (increased familiar powers, metamagic or item creation feats, and so on). + Spells per Day/Spells Known: At each even-numbered black flame zealot level, the character gains new spells per day (and spells known, if applicable) as if he had also gained a level in a divine spellcasting class to which he belonged before adding the prestige class level. He does not, however, gain any other benefit a character of that class would have gained (improved chance of turning or destroying undead, metamagic or item creation feats, and so on). If the character had more than one divine spellcasting class before becoming a black flame zealot, the player must decide to which class to add each black flame zealot level for the purpose of determining spells per day and spells known. + Spells Per Day: At every Talontar blightlord level (except 6th and 10th), the character gains new divine spells per day as if she had also gained a level in a divine spellcasting class to which she belonged before adding the prestige class level. She does not, however, gain any other benefit a character of that class would have gained (improved chance of turning or destroying undead, metamagic or item creation feats, and so on). This essentially means that she adds the level of Talontar blightlord to the level of whatever spellcasting class the character has, then determines spells per day and caster level accordingly. + Spellcasting: At each level except 1st, 3rd, 6th, and 9th, you gain new spells per day and an increase in caster level (and spells known, if applicable) as if you had also gained a level in a divine spellcasting class to which you belonged before adding the prestige class level. You do not, however, gain any other benefit a character of that class would have gained. If you had more than one divine spellcasting class before becoming a brimstone speaker, you must decide to which class to add each level for the purpose of determining spells per day, caster level, and spells known. + Spellcasting: As you attain more levels, you continue your training in your chosen spellcasting field. You get new spells per day, spells known, and an increase in caster level as if you had also gained a level in any one spellcasting class that includes cure light wounds on its spell list, provided you belonged to that class previously. You do not, however, gain any other class feature a character of that class would have gained. This essentially means that you add the level of combat medic to the level of whatever eligible spellcasting class you have, and then determine spells per day and caster levels accordingly. If you had more than one eligible spellcasting class before becoming a combat medic, you must decide to which class you add levels of combat medic for the purposes of determining spells per day, spells known, and caster level. + Spells per Day/Spells Known: A contemplative who was previously a spellcaster continues to gain access to more powerful divine magic while following the contemplative path. Thus, when a new contemplative level is gained, the character gains new spells per day (and spells known, if applicable) as if she had also gained a level in the spellcasting class she belonged to before she added the prestige class. She does not, however, gain any other benefit a character of that class would have gained (improved chance of controlling or rebuking undead, more frequent remove disease, and so on). This essentially means that she adds the level of contemplative to the level of whatever other spellcasting class the character has, then determines spells per day accordingly. + Spellcasting: At each level beyond 1st, you gain new spells per day and an increase in caster level (and spells known, if applicable) as if you had also gained a level in a divine spellcasting class to which you belonged before adding the prestige class level. You do not, however, gain any other benefit a character of that class would have gained. If you had more than one divine spellcasting class before becoming an eldritch disciple, you must decide to which class to levels to for the purpose of determining spells per day, caster level, and spells known. + Spells per Day: Starting at 2nd level, and at each level thereafter, a fist of Raziel gains new spells per day as if she had also gained a level in a divine spellcasting class to which she belonged before adding the prestige class level. She does not, however, gain any other benefit a character of that class would have gained (improved chance of turning or destroying undead, improved special mount, and so on). If the character had more than one divine spellcasting class before becoming a fist of Raziel, she must decide to which class she adds each fist of Raziel level for the purpose of determining spells per day. + Spells per Day: At each indicated forest master level, the character gains new spells per day as if he had also gained a level in a divine spellcasting class to which he belonged before adding the prestige class level. He does not, however, gain any other benefit a character of that class would have gained (such as an improved chance of turning or rebuking undead). If the character had more than one divine spellcasting class before becoming a forest master, the player must decide to which class to add each forest master level for the purpose of determining spells per day. + Spells per Day/Spells Known: At each heartwarder level, the character gains new spells per day (and spells known, if applicable) as if she had also gained a level in a spellcasting class to which she belonged before adding the prestige class level. She does not, however, gain any other benefit a character of that class would have gained (improved chance of turning or destroying undead, metamagic or item creation feats, and so on). If the character had more than one spellcasting class before becoming a heartwarder, the player must decide to which class to add each heartwarder level for the purpose of determining spells per day and spells known. + Spells and Caster Level: Levels in the hierophant prestige class, even though they do not advance spell progression in the character's base class, still stack with the character's base spellcasting levels to determine caster level. + Spells per Day/Spells Known: A hospitaler continues advancing in divine spellcasting ability as well as learning the skills of the hospitalers. Thus, when a new hospitaler level is gained (except for 1st, 5th, and 9th levels), the character gains new divine spells per day (and spells known, if applicable) as if she had gained a level in the a divine spellcasting class to which she belonged before adding the prestige class level. She does not, however, gain any other benefit a character of that class would have gained (improved chance of controlling or rebuking undead, greater damage with the smite evil ability, and so on). + Spells per Day: A mighty contender of Kord continues the divine spellcasting training he began, but more slowly. For every two contender levels gained, the character gains new spells per day as if he had gained one level of the spellcasting class he belonged to before he added the prestige class. He does not gain any other benefit of the level (such as turning undead) that the character would have gained. This essentially means that he adds half his mighty contender level to the level of some other spellcasting class he has, then determines spells per day and caster level accordingly. + Spells per Day/Spells Known: Beginning at 2nd level, a master of shrouds gains new spells per day (and spells known, if applicable) as if she had also gained a level in a divine spellcasting class to which she belonged before adding the prestige class level. She does nor, however, gain any other benefit a character of that class would have gained (metamagic or item creation feats and so on; but see Rebuke Undead, below). If she had more than one divine spellcasting class before becoming a master of shrouds, she must decide to which class to add each level for the purpose of determining spells per day and spells known. + Spells per Day/Spells Known: When a new morninglord of Lathander level is gained, the character gains new spells per day (and spells known, if applicable) as if she had also gained a level in whatever divine spellcasting class granted her access to 3rd-level spells before she added the prestige class. She does not, however, gain any other benefit a character of that class would have gained (improved chance of turning or rebuking undead, and so on), except for an increased effective level of spellcasting. This essentially means that she adds the level of morninglord of Lathander to the level of whatever other divine spellcasting class granted her access to 3rd-level spells, then determines spells per day, spells known, and caster level accordingly. + Spells per Day/Spells Known: At 2nd, 3rd, and 4th level, an ollam gains new spells per day (and spells known, if applicable) as if she had also gained a level in a divine spellcasting class to which she belonged before adding the prestige class level. She does not, however, gain any other benefit a character of that class would have gained, if she had more than one divine spellcasting class before becoming an ollam, she must decide to which class to add each level for the purpose of determining spells per day and spells known. + Spells per Day/Spells Known: When a thrall of Orcus attains 1st, 4th, 7th, and 10th level, the character gains new spells per day as if she had also gained a level in whatever spellcasting class she belonged to before she added the prestige class. She does not gain any other benefit a character of that class would have gained (improved chance of controlling or rebuking undead, metamagic or item creation feats, hit points beyond those received from the prestige class, and so on), except for an increased effective level of spellcasting. This essentially means that she adds the new level to the level of whatever other spellcasting class the character has, then determines spells per day, spells known, and caster level accordingly. If a character had more than one spellcasting class before she became a thrall of Orcus, she must decide to which class she adds the levels to for purposes of determining spells per day. + Spells per Day/Powers Known: When a new psychic theurge level is attained, the character gains new spells per day as if he had also attained a level in any one divine spellcasting class he belonged to before he added the prestige class. He gains additional power points per day and access to new powers as if he had also gained a level in any one manifesting class he belonged to previously. He does not, however, gain any other benefit a character of either class would have gained (bonus metamagic, metapsionic, or item creation feats, psicrystal special abilities, and so on). This essentially means that he adds the level of psychic theurge to the level of whatever other divine spellcasting class and manifesting class the character has, then determines spells per day, caster level, power points per day, powers known, and manifester level accordingly. + Spellcasting: At each level except 1st and 6th, you gain new spells per day and an increase in caster level (and spells known, if applicable) as if you had also gained a level in a divine spellcasting class to which you belonged before adding the prestige class level. You do not, however, gain any other benefit a character of that class would have gained. If you had more than one divine spellcasting class before becoming a ruby knight, you must decide to which class to add levels to for the purpose of determining spells per day, caster level, and spells known. + Spells per Day/Spells Known: When a new runecaster level is gained, the character gains new spells per day (and spells known, if applicable) as if he. had also gained a level in whatever divine spellcasting class granted him access to 3rd-level spells before he added the prestige class. He does not, however, gain any other benefit a character of that class would have gained (improved chance of turning or rebuking undead, and so on), except for an increased effective level of spellcasting. This essentially means that he adds the level of runecaster to the level of whatever other divine spellcasting class granted him access to 3rd-level spells, then determines spells per day, spells known, and caster level accordingly. + Spells per Day/Spells Known: Beginning at 2nd level, a sacred purifier gains new spells per day (and spells known, if applicable) as if he had also gained a level in a divine spellcasting class to which he belonged before adding the prestige class level. He does not, however, gain any other benefit a character of that class would have gained (metamagic or item creation feats and soon; but see Turn Undead, below). If he had more than one divine spellcasting class before becoming a sacred purifier, he must decide to which class to add each level for the purpose of determining spells per day and spells know. + Spells per Day/Spells Known: When a new sacred fist level is gained, the character gains new spells per day (and spells known, if applicable) as if he had also gained a level in whatever divine spellcasting class he possessed before he added the prestige class. He does not, however, gain any other benefit a character of that class would have gained (improved chance of controlling or rebuking undead, wild shape ability, and so on). This essentially means that he adds the level of sacred fist to the level of whatever other spellcasting class the character has, then determines spells per day accordingly. + Spellcasting: At each sapphire hierarch level, you gain new spells per day and an increase in caster level (and spells known, if applicable) as if you had also gained a level in a divine spellcasting class to which you belonged before adding the prestige class level. You do not, however, gain any other benefit a character of that class would have gained (improved chance of turning or destroying undead, metamagic or item creation feats, and so on). If you had more than one divine spellcasting class before becoming a sapphire hierarch, you must decide to which class to add each level for the purpose of determining spells per day, caster level, and spells known. + Spells per Day/Spells Known: A shadowbane stalker continues training in divine spellcasting as well as learning. At each level gained in the shadowbane stalker class except for 4th and 9th, she gains new spells per day (and spells known, if applicable) as if she had also gained a level in a divine spellcasting class she belonged to before adding the prestige class level. She does not, however, gain any other benefit a character of that class would have gained. + Spells per Day/Spells Known: When an even-numbered level is gained, the shining blade of Heironeous gains new spells per day (and spells known, if applicable) as if he had also gained a level in a single spellcasting class in which he could cast divine spells before he added the prestige class level. He does not, however, gain any other benefit a character of that class would have gained. + Spells per Day/Spells Known: At each stormlord level, the character gains new spells per day (and spells known, if applicable) as if he had also gained a level in a divine spellcasting class to which he belonged before adding the prestige class level. He does not, however, gain any other benefit a character of that class would have gained (improved chance of turning or destroying undead, additional favored enemies, and so on). If the character had more than one divine spellcasting class before becoming a stormlord, the player must decide to which class to add the stormlord levels to for the purpose of determining spells per day and spells known. + Spellcasting: At every level except 1st and 5th, you gain new spells per day and an increase in caster level (and spells known, if applicable) as if you had also gained a level in a divine spellcasting class to which you belonged before adding the prestige class level. You do not, however, gain any other benefit a character of that class would have gained. If you had more than one divine spellcasting class before becoming a swift wing, you must decide to which class to add levels to for the purpose of determining spells per day, caster level, and spells known. + Spells per Day: At each even battleguard level, the character gains new spells per day as if he had also gained a level in a divine spellcasting class to which he belonged before adding the prestige class level. He does not, however, gain any other benefit a character of that class would have gained (such as improved chance of turning or destroying undead, additional favored enemies, and so on). If the character had more than one divine spellcasting class before becoming a battleguard, the player must decide which class to add battleguard levels to for the purpose of determining spells per day. + Spellcasting: At each level beyond 1st, you gain new spells per day and an increase in caster level (and spells known, if applicable) as if you had also gained a level in a divine spellcasting class to which you belonged before adding the prestige class level. You do not, however, gain any other benefit a character of that class would have gained. If you had more than one divine spellcasting class before becoming a Tenebrous apostate, you must decide to which class to add levels to for the purpose of determining spells per day, caster level, and spells known. + Spells per Day/Spells Known: A warpriest continues advancing in divine spellcasting ability. When a warpriest gains a new even-numbered level, the character gains new divine spells per day (and spells known, if applicable) as if he had also gained a level in whatever divine spellcasting class he belonged to before he added the prestige class. He does not, however, gain any other benefit a character of that class would have gained (improved chance of controlling or rebuking undead, more frequent remove disease, and so on). + Spellcasting isn't required to take the Disciple of Asmodeus prestige class. If you currently have an arcane spellcasting, shadowcasting or invoking class, do not pick this marker feat. + Spellcasting isn't required to take the Talon of Tiamat prestige class. If you currently have an arcane spellcasting, shadowcasting or invoking class, do not pick this marker feat. + Spellcasting isn't required to take the Dragonsong Lyrist prestige class. If you currently have an arcane spellcasting or shadowcasting class, do not pick this marker feat. + Spellcasting isn't required to take the Ollam prestige class. If you currently have an arcane spellcasting or shadowcasting class, do not pick this marker feat. ***** Custom Weapon VFX ***** ... Darkness / Shadow ... Psionic / Mind diff --git a/CEP2/2.69/_hak/prc8_cep269_mrg/baseitems.2da b/CEP2/2.69/_hak/prc8_cep269_mrg/baseitems.2da index bdb74c4..9bc4953 100644 --- a/CEP2/2.69/_hak/prc8_cep269_mrg/baseitems.2da +++ b/CEP2/2.69/_hak/prc8_cep269_mrg/baseitems.2da @@ -211,7 +211,7 @@ 207 16967219 stacksmall1 1 1 0x00000 0 0 it_smlmisc 0 1 1 1 it_bag iinvalid_1x1 0 1 0 **** **** **** 0 255 **** **** **** **** 16 0 10 0.01 1726 28 8 0 15 4 **** **** **** **** **** **** 0 0 5448 0 0 1 **** **** 1 **** **** **** **** 0 1 **** **** **** **** **** **** **** **** **** **** 208 16967214 PeltLarge 2 3 0x00000 0 0 it_peltlrg 0 1 1 1 zlc_j33 iinvalid_2x3 0 1 0 **** **** **** 0 255 **** **** **** **** 16 0 1 0.01 16967185 30 8 0 15 4 **** **** **** **** **** **** 0 0 5450 0 0 50 **** **** 1 **** **** **** **** 0 1 **** **** **** **** **** **** **** **** **** **** 209 16967215 PeltThin 1 2 0x00000 0 0 it_peltthn 0 1 1 1 it_bag iinvalid_1x2 0 1 0 **** **** **** 0 255 **** **** **** **** 16 0 1 1 16967185 29 8 0 15 4 **** **** **** **** **** **** 0 0 5474 0 0 5 **** **** 1 **** **** **** **** 0 1 **** **** **** **** **** **** **** **** **** **** -210 16967237 TinySpear 1 4 0x1C030 1 2 WPlSs 0 1 1 1 it_bag iwplss 0 4 1 3 **** 1.2 10 255 1 6 1 3 1 1 1 2 16967238 15 8 0 0 1 46 48 **** **** **** 4 0 0 16967239 0 1 20 17 **** **** **** 35 35 65 76 1 **** **** **** **** **** **** **** **** **** **** +210 16967237 TinySpear 1 4 0x1C030 1 2 WPlSs 0 1 1 1 it_bag iwplss 0 4 1 3 **** 1.2 10 255 1 6 1 3 1 1 1 2 16967238 15 8 0 0 1 46 48 **** **** **** 4 0 0 16967239 0 1 20 17 **** **** **** 35 35 65 76 1 97 627 135 665 59 717 503 924 **** **** 211 16967240 miscsmall3 1 1 0x00000 0 0 it_smlmis3 0 1 1 1 it_bag iinvalid_1x1 0 1 0 **** **** **** 0 255 **** **** **** **** 16 0 1 1 1726 28 8 0 15 4 **** **** **** **** **** **** 0 0 5448 0 0 3 **** **** 1 **** **** **** **** 0 1 **** **** **** **** **** **** **** **** **** **** 212 16967241 miscmedium3 2 2 0x00000 0 0 it_midmis3 0 1 1 1 it_bag iinvalid_2x2 0 1 0 **** **** **** 0 255 **** **** **** **** 16 0 1 1 1726 29 8 0 15 4 **** **** **** **** **** **** 0 0 5449 0 0 5 **** **** 1 **** **** **** **** 0 1 **** **** **** **** **** **** **** **** **** **** 213 16967220 Widget 1 1 0x00000 0 0 it_crpwdgt 0 1 1 1 it_bag iinvalid_1x1 0 1 0 **** **** **** 0 255 **** **** **** **** 16 0 1 0.01 1726 28 8 0 15 4 **** **** **** **** **** **** 0 0 5448 0 0 0 **** **** 1 **** **** **** **** 0 1 **** **** **** **** **** **** **** **** **** **** @@ -320,12 +320,12 @@ 316 16807266 falchion_2 2 4 0x1C010 1 2 WxSwFa 0 1 1 1 it_bag iwswfa 0 **** 3 4 **** 1.5 10 255 2 4 3 2 1 36 1 2.09 16807234 9 8 0 0 1 45 **** **** **** **** 4 0 0 16807235 0 1 160 11 **** **** **** 100 100 0 99 1 24606 24618 24630 24642 24654 24666 24678 24690 **** **** 317 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 318 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** -319 16807278 mercurial_longsword 1 4 0x1C030 1 2 WSwLs 0 1 1 1 it_bag iwswls 0 **** 4 3 **** 1.5 10 255 1 8 1 4 1 200 1 2 16807279 9 8 0 0 1 44 **** **** **** **** 4 0 0 16807280 0 1 60 1 **** **** **** 50 50 50 99 1 **** **** **** **** **** **** **** **** **** **** -320 16807281 mercurial_greatsword 2 5 0x1C010 1 2 WSwGs 0 1 1 1 it_bag iwswgs 0 **** 4 4 **** 1.8 10 255 2 6 1 4 1 300 1 2 16807282 9 8 0 0 1 44 **** **** **** **** 4 0 0 16807283 0 1 170 11 **** **** **** 65 65 35 99 1 **** **** **** **** **** **** **** **** **** **** +319 16807278 mercurial_longsword 1 4 0x1C030 1 2 WSwLs 0 1 1 1 it_bag iwswls 0 **** 4 3 **** 1.5 10 255 1 8 1 4 1 200 1 2 16807279 9 8 0 0 1 44 **** **** **** **** 4 0 0 16807280 0 1 60 1 **** **** **** 50 50 50 99 1 106 636 144 674 68 726 512 928 **** **** +320 16807281 mercurial_greatsword 2 5 0x1C010 1 2 WSwGs 0 1 1 1 it_bag iwswgs 0 **** 4 4 **** 1.8 10 255 2 6 1 4 1 300 1 2 16807282 9 8 0 0 1 44 **** **** **** **** 4 0 0 16807283 0 1 170 11 **** **** **** 65 65 35 99 1 97 627 135 665 59 717 503 924 **** **** 321 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 322 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 323 16807287 windfirewheel 2 2 0x1C030 0 2 WSpWf 0 1 1 1 it_bag iwspwf 0 **** 3 2 **** 1.1 10 255 1 4 2 2 1 2 1 2 16807288 7 8 0 0 1 44 49 **** **** **** 4 0 0 16807289 0 1 10 18 **** **** **** 100 100 0 9 1 **** **** **** **** **** **** **** **** **** **** -324 16807942 maugdoublesword 1 4 0x1C030 1 2 WMaDs 0 1 1 1 it_bag iwdbsw 0 **** 4 3 **** 1.5 10 255 1 8 2 2 1 15 1 2 16807944 9 8 0 0 1 45 **** **** **** **** 4 0 0 16807945 0 1 40 1 **** **** **** 50 50 50 70 1 **** **** **** **** **** **** **** **** **** **** +324 16807942 maugdoublesword 1 4 0x1C030 1 2 WMaDs 0 1 1 1 it_bag iwdbsw 0 **** 4 3 **** 1.5 10 255 1 8 2 2 1 15 1 2 16807944 9 8 0 0 1 45 **** **** **** **** 4 0 0 16807945 0 1 40 1 **** **** **** 50 50 50 70 1 127 655 165 693 89 745 531 943 **** **** 325 16807237 Flowers 1 2 0x1C010 1 2 WFlwr 0 0 0 0 it_bag iwclfr_m_011 0 4 2 3 **** 1.6 10 255 1 6 1 2 8 1 1 1 198 3 8 0 3 4 **** **** **** **** **** 4 0 0 59 50 0 1 **** **** **** **** 50 50 50 10 1 **** **** **** **** **** **** **** **** **** **** 326 16808089 useable_torch 1 3 0x1c030 1 2 hrtorch 0 1 1 1 it_bag ihrtorch 0 **** 2 2 **** 1.1 10 255 **** **** **** **** 1 1 1 0.02 1725 17 8 0 20 4 **** **** **** **** **** **** 0 0 5408 0 1 1 2 **** **** **** 100 100 0 0 1 **** **** **** **** **** **** **** **** **** **** 327 16807240 Flowers_Crystal 1 2 0x1C010 1 2 WClfr 0 1 1 1 it_bag iwclfr_m_011 0 4 2 3 **** 1.6 10 255 1 6 1 2 8 1 1 1 198 1 8 0 3 4 **** **** **** **** **** 4 0 0 59 50 0 5 **** **** **** **** 50 50 50 10 1 **** **** **** **** **** **** **** **** **** **** diff --git a/cep_blueprints/BuildHaks.cmd b/cep_blueprints/BuildHaks.cmd new file mode 100644 index 0000000..cc40b21 --- /dev/null +++ b/cep_blueprints/BuildHaks.cmd @@ -0,0 +1,3 @@ +cd _tools\ +NWN.CLI.exe -k +cd .. \ No newline at end of file diff --git a/cep_blueprints/_hak/prc_add_sb/_on_playerchat.ncs b/cep_blueprints/_hak/prc_add_sb/_on_playerchat.ncs new file mode 100644 index 0000000..98bcc6c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/_on_playerchat.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/_on_playerchat.nss b/cep_blueprints/_hak/prc_add_sb/_on_playerchat.nss new file mode 100644 index 0000000..a948cd1 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/_on_playerchat.nss @@ -0,0 +1,708 @@ +// _on_playerchat + +#include "mali_string_fns" +#include "sparky_inc" +#include "dmts_common_inc" + + +string ShowVector(vector vSomewhere) +{ string sVector = FloatToString(vSomewhere.x, 0, 2) + "x " + + FloatToString(vSomewhere.y, 0, 2) + "y " + + FloatToString(vSomewhere.z, 0, 2) + "z"; + return sVector; +} + +vector StringToVector(string sVector) +{ float fLocX = StringToFloat(FirstWord(sVector, "x")); + sVector = RestWords(sVector, "x"); + float fLocY = StringToFloat(FirstWord(sVector, "y")); + sVector = RestWords(sVector, "y"); + float fLocZ = StringToFloat(FirstWord(sVector, "z")); + + return Vector(fLocX, fLocY, fLocZ); +} + +string SparkyList(object oDB, string sListWhat) +{ int iEnc = 1; + string sEnc = "nyah"; + string sEncVar; + string sList; + + while (sEnc != "") + { sEncVar = sListWhat + ((iEnc < 10) ? "_0" : "_") + IntToString(iEnc); + sEnc = GetLocalString(oDB, sEncVar); + if (sEnc != "") + { sList += sEncVar + " = " + sEnc + "\n"; } + iEnc++; + } + + if (sList == "") + { sList = "No matching variables found."; } + + return sList; +} + +void main() +{ + object oPC = GetPCChatSpeaker(); + object oArea = GetArea(oPC); + string sChat = GetPCChatMessage(); + object oTarget = GetLocalObject(oPC, "DM_Tool_Target"); + string sTargetLoc = GetLocalString(oPC, "DM_Tool_TargetLoc"); + +// If speaker is a possessed NPC, make note of that on the possessing DM + if (GetIsDMPossessed(oPC)) + { SetLocalObject(GetMaster(oPC), "oPossessedNPC", oPC); } + else if (GetIsDM(oPC)) + { DeleteLocalObject(oPC, "oPossessedNPC"); } + + +// Not a valid command + if (GetStringLeft( sChat, 2) != "@@") +// Send it to the spy network + { object oPlayer = GetFirstPC(); + string sSpyHeard = "(" + GetName(GetArea(oPC)) + ") " + GetName(oPC) + ": " + sChat; + int iIsDM = 0; + object oPossessedNPC; + while (GetIsObjectValid(oPlayer)) + { iIsDM = (GetIsDM(oPlayer)); + oPossessedNPC = GetLocalObject(oPlayer, "oPossessedNPC"); + if (GetCampaignInt("dmfi", "dmfi_DMSpy", oPlayer) && iIsDM) + { SendMessageToPC(oPlayer, sSpyHeard); + if (GetMaster(oPossessedNPC) == oPlayer) + { SendMessageToPC(oPossessedNPC, sSpyHeard); } + } + oPlayer = GetNextPC(); + } + return; + } + + +// It begins with @@, so let's not send it to everyone + SetPCChatMessage(); + + + string sCommand = GetStringLowerCase(FirstWord(GetStringRight(sChat, GetStringLength(sChat) - 2))); + string sParameter = RestWords(sChat); + + +// PC commands + + if (sCommand == "pclist") + { ExecuteScript("zmal_pcl_list", oPC); return; } + + if ((sCommand == "time") && (sParameter == "")) + { int iHour = GetTimeHour(); + int iMin = GetTimeMinute(); + int iSec = GetTimeSecond(); + + string sTime = IntToString(iHour) + ((iMin < 10) ? ":0" : ":") + + IntToString(iMin) + ((iSec < 10) ? ":0" : ":") + IntToString(iSec); + SendMessageToPC(oPC, "Current time is " + sTime); + return; + } + + + if ( !(GetIsDM(oPC) || GetIsDMPossessed(oPC))) + { SendMessageToPC(oPC, "ERROR: Invalid command."); return; } + +// DM commands + +// Commands that don't require a target + + + if (sCommand == "help") + { sParameter = GetStringLowerCase(sParameter); + if (TestStringAgainstPattern("@@**", sParameter)) + { sParameter = RestWords(sParameter, "@@"); } + string sHelp = "Valid commands: @@name, @@tag, @@retag, @@view, @@desc, @@app, @@deity, " + + "@@shop, @@infinite, @@makeshop, @@copyshop, @@clone, @@dmspy, " + + "@@copyfrom, @@copyto, @@time, @@location, @@findtag, @@sparky, " + + "@@scribble, @@editdesc, @@swapdesc"; + if (sParameter == "name") + { sHelp = "@@name NewName: Renames the target.\n" + + "@@name: With no parameter, resets the name to the original."; } + else if (sParameter == "tag") + { sHelp = "@@tag: Displays the target's tag."; } + else if (sParameter == "retag") + { sHelp = "@@retag: Changes the tag of placeables and items."; } + else if (sParameter == "view") + { sHelp = "@@view: View the target's current description."; } + else if (sParameter == "desc") + { sHelp = "@@desc NewDesc: Changes the target's description. Use %n for a carriage return.\n" + + "@@desc: With no parameter, resets the description."; } + else if (sParameter == "app") + { sHelp = "@@app: Displays the target's appearance number.\n" + + "@@app AppNumber: Change the target's appearance."; } + else if (sParameter == "deity") + { sHelp = "@@deity: Display the target's deity.\n" + + "@@deity NewDeity: Change the target's deity."; } + else if (sParameter == "time") + { sHelp = "@@time: Displays the current time.\n" + + "@@time hour:min:sec : Sets the current time."; } + else if (sParameter == "dmspy") + { sHelp = "@@dmspy: Toggles the status of the DM Spy Network, which " + + "reports anything said anywhere on the server."; } + else if (sParameter == "clone") + { sHelp = "@@clone Copies: Makes the specified number of copies of the target." + + " Copies defaults to 1."; } + else if (sParameter == "copyfrom") + { sHelp = "@@copyfrom: Copies items from the first container you " + + " target to the second container you target."; } + else if (sParameter == "copyto") + { sHelp = "@@copyto: Copies items from the second container you " + + " target to the first container you target."; } + else if (sParameter == "makeshop") + { sHelp = "@@makeshop: Opens a new store for the target NPC." + + " Must already be set up with a merchant conversation.\n" + + "@@makeshop ShopTag: Attempts to set up a shop for the targeted" + + " NPC with the specified ShopTag. Use with stores on the pallete.\n" + + "(shop commands only work if the shop has a tag of the form Shop_NPCtag)"; } + else if (sParameter == "copyshop") + { sHelp = "@@copyshop: Copy the target NPC's shop to your current location.\n" + + "@@copyshop NewTag: Copy the target NPC's shop, and change " + + "its tag to NewTag.\n" + + "(shop commands only work if the shop has a tag of the form Shop_NPCtag)"; } + else if (sParameter == "shop") + { sHelp = "@@shop: Open the target NPC's store.\n" + + "(shop commands only work if the shop has a tag of the form Shop_NPCtag)"; } + else if (sParameter == "infinite") + { sHelp = "@@infinite: Sets a shop item to an infinite supply."; } + else if (sParameter == "finite") + { sHelp = "@@finite: Sets a shop item to a finite supply."; } + else if (sParameter == "sparky") + { sHelp = "@@sparky despawn: Removes all Sparky spawns from the area.\n" + + "@@sparky force despawn: If the spawn script was aborted, or" + + " creatures were spawned from the DM Encounter Spawn widget," + + " this command should despawn them when @@sparky despawn cannot.\n" + + "@@sparky spawn: Removes any current Sparky spawns, and after a 2" + + " second delay, forces the spawns to activate.\n" + + "@@sparky list encounters: Lists the encounter variables on the current area.\n" + + "@@sparky list table TableName: Lists the specified table.\n" + + "@@sparky list group GroupName: Lists the specified group." + + "After targeting a Sparky Spawn trigger, you may use these commands:\n" + + "@@sparky trigger spawn: Removes any current Sparky spawns, and after a 2" + + " second delay, forces the spawns on the trigger to activate.\n" + + "@@sparky trigger list encounters: Lists the encounter variables on the trigger.\n" + + "@@sparky trigger list table TableName: Lists the specified table.\n" + + "@@sparky trigger list group GroupName: Lists the specified group."; } + else if (sParameter == "location") + { sHelp = "@@location: Shows your current coordinates and facing."; } + else if (sParameter == "findtag") + { sHelp = "@@findtag Tag: Displays the location (area and coordinates) of" + + " all objects with the tag Tag. If the object is on a creature" + + " or in a container, the name of the creature/container will be" + + " displayed as well."; } + else if (sParameter == "scribble") + { sHelp = "@@scribble Message: Writes the specified message on the floor " + + "at the targeted location. A stage manager widget is provided, " + + "ready to be boxed up."; } + else if (sParameter == "editdesc") + { sHelp = "@@editdesc Delimiter SearchForReplaceWith\n" + + "Replaces all occurances of SearchFor with ReplaceWith in target's" + + " description."; } + else if (sParameter == "swapdesc") + { sHelp = "@@swapdesc\nSwaps the identified and unidentified descriptions of the target."; } + + SendMessageToPC(oPC, sHelp); + return; + } + + + if (sCommand == "location") + { SendMessageToPC(oPC, "Your location is: " + ShowVector(GetPosition(oPC)) + + ", facing " + FloatToString(GetFacing(oPC), 0,0)); + return; + } + + if (sCommand == "findtag") + { object oFindee = oPC; + object oPossessor = oPC; + string sFindeeLocs = ""; + + int iLoop = 0; + while (GetIsObjectValid(oFindee)) + { oFindee = GetObjectByTag(sParameter, iLoop); + if (GetIsObjectValid(oFindee)) + { oPossessor = GetItemPossessor(oFindee); + if (GetIsObjectValid(oPossessor)) + { sFindeeLocs += "\n" + GetName(GetArea(oPossessor)) + ": " + + ShowVector(GetPosition(oPossessor)) + " on " + + GetName(oPossessor); + } + else + { sFindeeLocs += "\n" + GetName(GetArea(oFindee)) + ": " + + ShowVector(GetPosition(oFindee)); + } + iLoop++; + } + } + + if (iLoop = 0) + { SendMessageToPC(oPC, "Nothing found."); } + else + { SendMessageToPC(oPC, "Locations for tag " + sParameter + ":" + sFindeeLocs); } + + return; + } + + if (sCommand == "dmspy") + { int iDMSpy = GetCampaignInt("dmfi", "dmfi_DMSpy", oPC); + int iToggle = abs(iDMSpy - 1); + SetCampaignInt("dmfi", "dmfi_DMSpy", iToggle, oPC); + string sStatus = iToggle ? "on" : "off"; + SendMessageToPC(oPC, "DM Spy network " + sStatus + "."); + return; + } + + if (sCommand == "time") + { if (sParameter != "") + { if (TestStringAgainstPattern("*n:*n:*n", sParameter)) + { int iHour = StringToInt(FirstWord(sParameter, ":")); + sParameter = RestWords(sParameter, ":"); + + int iMin = StringToInt(FirstWord(sParameter, ":")); + sParameter = RestWords(sParameter, ":"); + + int iSec = StringToInt(FirstWord(sParameter, ":")); + sParameter = RestWords(sParameter, ":"); + + SetTime(iHour, iMin, iSec, 0); + } + else + { SendMessageToPC(oPC, "ERROR: Invalid time format."); return; } + } + + int iHour = GetTimeHour(); + int iMin = GetTimeMinute(); + int iSec = GetTimeSecond(); + + string sTime = IntToString(iHour) + ((iMin < 10) ? ":0" : ":") + + IntToString(iMin) + ((iSec < 10) ? ":0" : ":") + IntToString(iSec); + SendMessageToPC(oPC, "Current time is " + sTime); + return; + } + + if (sCommand == "sparky") + { sParameter = GetStringLowerCase(sParameter); + if (sParameter == "despawn") + { SendMessageToPC(oPC, "Despawning..."); + Despawn(oArea); + return; + } + if (sParameter == "force despawn") + { SendMessageToPC(oPC, "Forcing a despawn..."); + SetLocalInt(oArea, "iSparkySpawned", TRUE); + Despawn(oArea); + return; + } + + object oDB = oArea; + if (FirstWord(sParameter) == "trigger") + { if ( !( (GetObjectType(oTarget) == OBJECT_TYPE_TRIGGER) && (GetLocalInt(oTarget, "iSparkyTrigger")) )) + { SendMessageToPC(oPC, "ERROR: Target is not a Sparky Spawn trigger!"); return; } + + sParameter = RestWords(sParameter); + oDB = oTarget; + } + + if ((sParameter == "respawn") || (sParameter == "spawn")) + { SendMessageToPC(oPC, "Spawning..."); + Despawn(oArea); + DelayCommand(2.0f, SpawnEncounters(oDB)); + return; + } + if (FirstWord(sParameter) == "list") + { sParameter = RestWords(sParameter); + string sListWhat = FirstWord(sParameter); + sParameter = FirstWord(RestWords(sParameter)); + if (sListWhat == "encounters") + { SendMessageToPC(oPC, SparkyList(oDB, "encounter")); return; } + if ((sListWhat != "table") && (sListWhat != "group")) + { SendMessageToPC(oPC, "ERROR: Invalid Sparky list command."); return; } + if (sParameter == "") + { SendMessageToPC(oPC, "ERROR: No " + GetStringLowerCase(sListWhat) + " name supplied."); return; } + + SendMessageToPC(oPC, SparkyList(oDB, GetStringLowerCase(sListWhat + "_" + sParameter))); + return; + } + + SendMessageToPC(oPC, "ERROR: Invalid Sparky command."); return; + } + + if (sCommand == "areavar") + { string sVarType = GetStringLowerCase(FirstWord(sParameter)); + string sParameter2 = RestWords(sParameter); + string sVarName = FirstWord(sParameter2); + sParameter2 = RestWords(sParameter2); + + if (sVarName == "") + { SendMessageToPC(oPC, "ERROR: No variable name supplied."); return; } + + if (sVarType == "int") + { int iValue = StringToInt(sParameter2); + SetLocalInt(oArea, sVarName, iValue); + SendMessageToPC(oPC, "Variable " + sVarName + " set to: " + IntToString(iValue)); + return; + } + if (sVarType == "float") + { float fValue = StringToFloat(sParameter2); + SetLocalFloat(oArea, sVarName, fValue); + SendMessageToPC(oPC, "Variable " + sVarName + " set to: " + FloatToString(fValue)); + return; + } + if (sVarType == "string") + { SetLocalString(oArea, sVarName, sParameter2); + SendMessageToPC(oPC, "Variable " + sVarName + " set to: " + sParameter2); + return; + } + } + + + if ((sCommand == "scribble") || (sCommand == "scribblewall")) + { if (sTargetLoc == "") + { SendMessageToPC(oPC, "ERROR: Target a location first!"); return; } + + vector vStart = StringToVector(sTargetLoc); + float fTheta = GetTheta(GetPosition(oPC), vStart); + location lStartLoc = Location(oArea, vStart, fTheta); + + if (sParameter == "") + { object oMarker = GetObjectByTag("ScribbleMarker_" + ObjectToString(oPC)); + if (GetIsObjectValid(oMarker)) + { DestroyObject(oMarker); + SendMessageToPC(oPC, "Marker removed."); + } + else + { SendMessageToPC(oPC, "Creating marker..."); + oMarker = CreateObject(OBJECT_TYPE_PLACEABLE, "zep_os_sar_001", lStartLoc, FALSE, "ScribbleMarker_" + ObjectToString(oPC)); + if (sCommand == "scribblewall") + { SetLocalInt(oMarker, "iPlayAnimation", ANIMATION_PLACEABLE_CLOSE); + ExecuteScript("playanimation", oMarker); + } + } + return; + } + + string sAlphabet_LC = "abcdefghijklmnopqrstuvwxyz"; + string sAlphabet_UC = GetStringUpperCase(sAlphabet_LC); + string sNumbers = "0123456789"; + string sSpecial = ".,-"; + string sSpecialTag = "pdcmds"; + string sLetter; + + int iPlayAnimation = 0; + object oMarker = GetObjectByTag("ScribbleMarker_" + ObjectToString(oPC)); + if (GetIsObjectValid(oMarker)) + { lStartLoc = GetLocation(oMarker); + iPlayAnimation = GetLocalInt(oMarker, "iPlayAnimation"); + fTheta = GetFacing(oMarker); + DestroyObject(oMarker); + } + else + { SendMessageToPC(oPC, "WARNING: Marker not found. Using target location..."); } + + location lLoc = lStartLoc; + + object oSM_widget = CreateItemOnObject("mali_dm_stage", oPC); + if (!GetIsObjectValid(oSM_widget)) + { SendMessageToPC(oPC, "Warning: Could not create a stage manager widget..."); } + + object oLetter; + int iLoop; + for (iLoop = 0; iLoop < GetStringLength(sParameter); iLoop++) + { sLetter = GetSubString(sParameter, iLoop, 1); + if (FindSubString(sAlphabet_LC + sNumbers, sLetter) != -1) + { oLetter = CreateObject(OBJECT_TYPE_PLACEABLE, "zep_os_sn" + sLetter + "_001", lLoc); + if (iPlayAnimation) + { SetLocalInt(oLetter, "iPlayAnimation", iPlayAnimation); + ExecuteScript("playanimation", oLetter); + } + lLoc = Location(oArea, GetChangedPosition(GetPositionFromLocation(lLoc), 0.25f, fTheta - 90.0f), fTheta); + if (GetIsObjectValid(oSM_widget)) + { SetLocalObject(oSM_widget, "oProp" + IntToString(iLoop + 1), oLetter); + SetLocalInt(oSM_widget, "iProp" + ObjectToString(oLetter), iLoop + 1); + SetLocalInt(oSM_widget, "iPropIndex", iLoop + 1); + } + } + else if (FindSubString(sAlphabet_UC, sLetter) != -1) + { oLetter = CreateObject(OBJECT_TYPE_PLACEABLE, "zep_os_sn" + GetStringLowerCase(sLetter) + "_002", lLoc); + if (iPlayAnimation) + { SetLocalInt(oLetter, "iPlayAnimation", iPlayAnimation); + ExecuteScript("playanimation", oLetter); + } + lLoc = Location(oArea, GetChangedPosition(GetPositionFromLocation(lLoc), 0.25f, fTheta - 90.0f), fTheta); + if (GetIsObjectValid(oSM_widget)) + { SetLocalObject(oSM_widget, "oProp" + IntToString(iLoop + 1), oLetter); + SetLocalInt(oSM_widget, "iProp" + ObjectToString(oLetter), iLoop + 1); + SetLocalInt(oSM_widget, "iPropIndex", iLoop + 1); + } + } + else if (FindSubString(sSpecial, sLetter) != -1) + { oLetter = CreateObject(OBJECT_TYPE_PLACEABLE, "zep_os_s" + GetSubString(sSpecialTag, FindSubString(sSpecial, sLetter) * 2, 2) + "_001", lLoc); + if (iPlayAnimation) + { SetLocalInt(oLetter, "iPlayAnimation", iPlayAnimation); + ExecuteScript("playanimation", oLetter); + } + lLoc = Location(oArea, GetChangedPosition(GetPositionFromLocation(lLoc), 0.25f, fTheta - 90.0f), fTheta); + if (GetIsObjectValid(oSM_widget)) + { SetLocalObject(oSM_widget, "oProp" + IntToString(iLoop + 1), oLetter); + SetLocalInt(oSM_widget, "iProp" + ObjectToString(oLetter), iLoop + 1); + SetLocalInt(oSM_widget, "iPropIndex", iLoop + 1); + } + } + else + { lLoc = Location(oArea, GetChangedPosition(GetPositionFromLocation(lLoc), 0.5f, fTheta - 90.0f), fTheta); } + } + + if (GetIsObjectValid(oSM_widget)) + { SetName(oSM_widget, "The Moving Finger"); + SetDescription(oSM_widget, "Use this stage manager widget to enscribe the following message on the floor:\n\n" + sParameter); + } + + return; + } + +// Commands that require a target + + + if (!GetIsObjectValid(oTarget)) + { SendMessageToPC(oPC, "ERROR: Invalid target!"); return; } + + string sTargetName = GetName(oTarget); + + + if (sCommand == "setstring") + { string sVarName = FirstWord(sParameter); + sParameter = RestWords(sParameter); + if (sParameter == "") + { SendMessageToPC(oPC, "ERROR: No variable name supplied!"); return; } + SetLocalString(oTarget, sVarName, sParameter); + SendMessageToPC(oPC, "Set."); + return; + } + + if (sCommand == "areavar") + { string sVarType = GetStringLowerCase(FirstWord(sParameter)); + string sParameter2 = RestWords(sParameter); + string sVarName = FirstWord(sParameter2); + + if (sVarType != "object") + { SendMessageToPC(oPC, "ERROR: Invalid variable type."); return; } + + SetLocalObject(oArea, sVarName, oTarget); + SendMessageToPC(oPC, "Variable " + sVarName + " set to: " + sTargetName); + return; + } + + if (sCommand == "name") + { if( GetIsDM(oTarget) || GetIsPC(oTarget)) + { SendMessageToPC(oPC, "ERROR: You can't rename a PC or DM."); return; } + else + { SetName(oTarget, sParameter); + SendMessageToPC(oPC, sTargetName + "'s name set to: " + GetName(oTarget)); + return; + } + } + + if (sCommand == "view") + { SendMessageToPC(oPC, sTargetName + "'s Description:\n" + GetDescription(oTarget)); return; } + + if (sCommand == "desc") + { SetDescription(oTarget, SearchAndReplace(sParameter, "%n", "\n")); return; } + + if (sCommand == "editdesc") + { string sDesc = GetDescription(oTarget); + string sDelimiter = FirstWord(sParameter); + sParameter = RestWords(sParameter); + string sSearch = FirstWord(sParameter, sDelimiter); + string sReplace = RestWords(sParameter, sDelimiter); + + SetDescription(oTarget, SearchAndReplace(sDesc, sSearch, sReplace)); + return; + } + + if (sCommand == "swapdesc") + { string sDesc = GetDescription(oTarget); + SetDescription(oTarget, GetDescription(oTarget, FALSE, FALSE)); + SetDescription(oTarget, sDesc, FALSE); + return; + } + + if (sCommand == "app") + { int iApp = StringToInt(sParameter); + + if (GetObjectType(oTarget) != OBJECT_TYPE_CREATURE) + { SendMessageToPC(oPC, "ERROR: Invalid target. NPCs, players, or DMs only."); return; } + if (sParameter == "") + { SendMessageToPC(oPC, sTargetName + "'s appearance: " + IntToString(GetAppearanceType(oTarget))); return; } + if ( ((sParameter != "0") && (iApp == 0)) || (iApp < 0) ) + { SendMessageToPC(oPC, "ERROR: Appearance must be a non-negative integer!"); return; } + SetCreatureAppearanceType(oTarget, iApp); return; + } + + if (sCommand == "deity") + { if (GetObjectType(oTarget) != OBJECT_TYPE_CREATURE) + { SendMessageToPC(oPC, "ERROR: Invalid target."); return; } + if (sParameter == "") + { SendMessageToPC(oPC, sTargetName + "'s deity: " + GetDeity(oTarget)); return; } + else + { SetDeity(oTarget, sParameter); + SendMessageToPC(oPC, sTargetName + "'s deity set to: " + GetDeity(oTarget)); + return; + } + } + + if (sCommand == "tag") + { SendMessageToPC(oPC, sTargetName + "'s tag: " + GetTag(oTarget)); return; } + + if (sCommand == "retag") + { if (GetObjectType(oTarget) == OBJECT_TYPE_PLACEABLE) + { location lTargetLocation = GetLocation(oTarget); + oTarget = RecreateObjectAtLocation(oTarget, lTargetLocation, sParameter); + SetLocalInt(oTarget, "iRetagged", TRUE); + SetLocalObject(oPC, "DM_Tool_Target", oTarget); + SendMessageToPC(oPC, sTargetName + "'s tag is now: " + GetTag(oTarget)); + return; + } + else if (GetObjectType(oTarget) == OBJECT_TYPE_ITEM) + { object oNewItem = CopyObject(oTarget, GetLocation(oPC), oPC, sParameter); + if (GetIsObjectValid(oNewItem)) + { DestroyObject(oTarget); + SendMessageToPC(oPC, sTargetName + "'s tag is now: " + GetTag(oNewItem)); + SetLocalObject(oPC, "DM_Tool_Target", oNewItem); + return; } + else + { SendMessageToPC(oPC, "ERROR: Item not retagged. Reason unknown."); return; } + } + else + { SendMessageToPC(oPC, "ERROR: Only placeables and items may be retagged."); return; } + } + + if (sCommand == "shop") + { if (GetObjectType(oTarget) == OBJECT_TYPE_STORE) + { OpenStore(oTarget, oPC); return; } + if (GetIsPC(oTarget) || !(GetObjectType(oTarget) == OBJECT_TYPE_CREATURE)) + { SendMessageToPC(oPC, "ERROR: Not an NPC!"); return; } + object oStore = GetNearestObjectByTag("Store_" + GetTag(oTarget), oTarget); + if (!GetIsObjectValid(oStore) || (GetObjectType(oStore) != OBJECT_TYPE_STORE)) + { SendMessageToPC(oPC, "ERROR: Could not find store!"); return; } + else + { OpenStore(oStore, oPC); return; } + } + + if (sCommand == "infinite") + { if (GetObjectType(oTarget) != OBJECT_TYPE_ITEM) + { SendMessageToPC(oPC, "ERROR: Must target an item!"); return; } + else if (GetObjectType(GetItemPossessor(oTarget)) != OBJECT_TYPE_STORE) + { SendMessageToPC(oPC, "ERROR: Must target an item in a store!"); return; } + else + { SetInfiniteFlag(oTarget); + SendMessageToPC(oPC, sTargetName + " is now set infinite."); return; } + } + + if (sCommand == "finite") + { if (GetObjectType(oTarget) != OBJECT_TYPE_ITEM) + { SendMessageToPC(oPC, "ERROR: Must target an item!"); return; } + else if (GetObjectType(GetItemPossessor(oTarget)) != OBJECT_TYPE_STORE) + { SendMessageToPC(oPC, "ERROR: Must target an item in a store!"); return; } + else + { SetInfiniteFlag(oTarget, FALSE); + SendMessageToPC(oPC, sTargetName + " is now set finite."); return; } + } + + if (sCommand == "makeshop") + { if (GetIsPC(oTarget) || !(GetObjectType(oTarget) == OBJECT_TYPE_CREATURE)) + { SendMessageToPC(oPC, "ERROR: Not an NPC!"); return; } + string sStoreTag = "Store_" + GetTag(oTarget); + string sStoreResRef = sStoreTag; + if (sParameter != "") + { sStoreResRef = sParameter; } + object oStore = CreateObject(OBJECT_TYPE_STORE, sStoreResRef, GetLocation(oPC), FALSE, sStoreTag); + if (!GetIsObjectValid(oStore)) + { oStore = CreateObject(OBJECT_TYPE_STORE, "Empty_Store", GetLocation(oPC), FALSE, sStoreTag); } + if (GetIsObjectValid(oStore)) + { SetLocalObject(oPC, "DM_Tool_Target", oStore); + SendMessageToPC(oPC, "New target: " + GetName(oStore) + "\nTag: " + GetTag(oStore)); + return; + } + else + { SendMessageToPC(oPC, "ERROR: Store not created. Reason unknown."); return; } + } + + if (sCommand == "copyshop") + { if (GetIsPC(oTarget) || !(GetObjectType(oTarget) == OBJECT_TYPE_CREATURE)) + { SendMessageToPC(oPC, "ERROR: Not an NPC!"); return; } + object oStore = GetNearestObjectByTag("Store_" + GetTag(oTarget), oTarget); + if (!GetIsObjectValid(oStore) || (GetObjectType(oStore) != OBJECT_TYPE_STORE)) + { SendMessageToPC(oPC, "ERROR: Could not find store!"); return; } + string sStoreName = GetName(oStore); + string sStoreTag = GetTag(oStore); + if (!(sParameter == "")) + { sStoreTag = sParameter; } + object oNewStore = CreateObject(OBJECT_TYPE_STORE, "Empty_Store", GetLocation(oPC), FALSE, sStoreTag); + if (GetIsObjectValid(oNewStore)) + { object oMerchandise = GetFirstItemInInventory(oStore); + while (GetIsObjectValid(oMerchandise)) + { if (GetInfiniteFlag(oMerchandise)) + { CopyItem(oMerchandise, oNewStore, TRUE); } + oMerchandise = GetNextItemInInventory(oStore); + } + SetName(oNewStore, sStoreName); + SetLocalObject(oPC, "DM_Tool_Target", oNewStore); + SendMessageToPC(oPC, "New target: " + GetName(oNewStore) + "\nTag: " + GetTag(oNewStore)); + return; + } + else + { SendMessageToPC(oPC, "ERROR: Store not created. Reason unknown."); return; } + } + + if (sCommand == "clone") + { if ( !((GetObjectType(oTarget) == OBJECT_TYPE_ITEM) || (GetObjectType(oTarget) == OBJECT_TYPE_CREATURE))) + { SendMessageToPC(oPC, "ERROR: You may only clone items and creatures."); return; } + int iCopies = StringToInt(sParameter); + if (sParameter == "") + { iCopies = 1; } + if (iCopies < 1) + { SendMessageToPC(oPC, "ERROR: Number of copies must be an integer greater than zero!"); return; } + int iLoop = 0; + while (iLoop < iCopies) + { if (GetObjectType(oTarget) == OBJECT_TYPE_ITEM) + { CopyObject(oTarget, GetLocation(oPC), oPC); } + else + { CopyObject(oTarget, GetLocation(oTarget)); } + iLoop++; + } + return; + } + + if ((sCommand == "copyfrom") || (sCommand == "copyto")) + { object oSource; + object oDest; + object oThingie; + + if (sCommand == "copyfrom") + { oSource = GetLocalObject(oPC, "oDM_Bag1"); + oDest = GetLocalObject(oPC, "oDM_Bag2"); + } + else + { oSource = GetLocalObject(oPC, "oDM_Bag2"); + oDest = GetLocalObject(oPC, "oDM_Bag1"); + } + + if (!GetIsObjectValid(oSource) || !GetIsObjectValid(oDest)) + { SendMessageToPC(oPC, "ERROR: Invalid target. Re-target both containers."); return; } + if (!GetHasInventory(oSource) || !GetHasInventory(oDest)) + { SendMessageToPC(oPC, "ERROR: Command may only be used with containers."); return; } + + CopyContents(oSource, oDest, sParameter); + + return; + } + + +// Doesn't match anything + + SendMessageToPC(oPC, "ERROR: Invalid command."); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/aarcl007.uti b/cep_blueprints/_hak/prc_add_sb/aarcl007.uti new file mode 100644 index 0000000..a42f67a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/aarcl007.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/am_it_kocra_hide.uti b/cep_blueprints/_hak/prc_add_sb/am_it_kocra_hide.uti new file mode 100644 index 0000000..0dd2f91 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/am_it_kocra_hide.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/blockdoor.ncs b/cep_blueprints/_hak/prc_add_sb/blockdoor.ncs new file mode 100644 index 0000000..f8c0a24 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/blockdoor.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/blockdoor.nss b/cep_blueprints/_hak/prc_add_sb/blockdoor.nss new file mode 100644 index 0000000..a2a0ea1 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/blockdoor.nss @@ -0,0 +1,26 @@ +/* Script generated by +Lilac Soul's NWN Script Generator, v. 1.2 + +For download info, please visit: +http://www.angelfire.com/space/lilacsoul */ + +//Put this OnEnter +void main() +{ + +object oPC = GetEnteringObject(); + +if (!GetIsPC(oPC)) return; + +object oTarget; +object oSpawn; +oTarget = GetWaypointByTag("here"); + +oSpawn = CreateObject(OBJECT_TYPE_PLACEABLE, "plc_boulder", GetLocation(oTarget)); + +oTarget = oSpawn; + +ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_BREACH), GetLocation(oTarget)); + +} + diff --git a/cep_blueprints/_hak/prc_add_sb/canolothskin.uti b/cep_blueprints/_hak/prc_add_sb/canolothskin.uti new file mode 100644 index 0000000..c79bcc3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/canolothskin.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/canolothtongue.uti b/cep_blueprints/_hak/prc_add_sb/canolothtongue.uti new file mode 100644 index 0000000..73a0579 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/canolothtongue.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/celestialchar001.utc b/cep_blueprints/_hak/prc_add_sb/celestialchar001.utc new file mode 100644 index 0000000..e5ed0d3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/celestialchar001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/celestialcharger.utc b/cep_blueprints/_hak/prc_add_sb/celestialcharger.utc new file mode 100644 index 0000000..a78f81f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/celestialcharger.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/cep2damax.2da b/cep_blueprints/_hak/prc_add_sb/cep2damax.2da new file mode 100644 index 0000000..6c2aa06 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/cep2damax.2da @@ -0,0 +1,14 @@ +2DA V2.0 + + LABEL MAX +0 **** **** +1 appearance 3999 +2 portraits 3829 +3 tailmodel 4999 +4 visualeffects 7167 +5 wingmodel 1999 +6 **** **** +7 **** **** +8 **** **** +9 **** **** +10 **** **** \ No newline at end of file diff --git a/cep_blueprints/_hak/prc_add_sb/cep_unicorn.utc b/cep_blueprints/_hak/prc_add_sb/cep_unicorn.utc new file mode 100644 index 0000000..819b45d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/cep_unicorn.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/cep_unicorn001.utc b/cep_blueprints/_hak/prc_add_sb/cep_unicorn001.utc new file mode 100644 index 0000000..6523a03 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/cep_unicorn001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/codibigspore.utp b/cep_blueprints/_hak/prc_add_sb/codibigspore.utp new file mode 100644 index 0000000..4bdb35f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codibigspore.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codibigspore2.utp b/cep_blueprints/_hak/prc_add_sb/codibigspore2.utp new file mode 100644 index 0000000..d952175 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codibigspore2.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codietheroscope.utp b/cep_blueprints/_hak/prc_add_sb/codietheroscope.utp new file mode 100644 index 0000000..de41806 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codietheroscope.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codifallenspire.utp b/cep_blueprints/_hak/prc_add_sb/codifallenspire.utp new file mode 100644 index 0000000..8b8876b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codifallenspire.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codifortwheel.utp b/cep_blueprints/_hak/prc_add_sb/codifortwheel.utp new file mode 100644 index 0000000..18d86ba Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codifortwheel.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codihighspire.utp b/cep_blueprints/_hak/prc_add_sb/codihighspire.utp new file mode 100644 index 0000000..4edbff3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codihighspire.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codimediumspore.utp b/cep_blueprints/_hak/prc_add_sb/codimediumspore.utp new file mode 100644 index 0000000..0d5cf83 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codimediumspore.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codiportala.utp b/cep_blueprints/_hak/prc_add_sb/codiportala.utp new file mode 100644 index 0000000..f204389 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codiportala.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codiportalb.utp b/cep_blueprints/_hak/prc_add_sb/codiportalb.utp new file mode 100644 index 0000000..52025a5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codiportalb.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codiredcloud.utp b/cep_blueprints/_hak/prc_add_sb/codiredcloud.utp new file mode 100644 index 0000000..4f48abe Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codiredcloud.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codirug01.utp b/cep_blueprints/_hak/prc_add_sb/codirug01.utp new file mode 100644 index 0000000..ce7bd3e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codirug01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codirug02.utp b/cep_blueprints/_hak/prc_add_sb/codirug02.utp new file mode 100644 index 0000000..06fbe67 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codirug02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codisextant.utp b/cep_blueprints/_hak/prc_add_sb/codisextant.utp new file mode 100644 index 0000000..3cf8373 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codisextant.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codishelf01.utp b/cep_blueprints/_hak/prc_add_sb/codishelf01.utp new file mode 100644 index 0000000..d0ee53e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codishelf01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codiskullpost.utp b/cep_blueprints/_hak/prc_add_sb/codiskullpost.utp new file mode 100644 index 0000000..0e39c79 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codiskullpost.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codismallcage.utp b/cep_blueprints/_hak/prc_add_sb/codismallcage.utp new file mode 100644 index 0000000..edfb91b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codismallcage.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codismallspore.utp b/cep_blueprints/_hak/prc_add_sb/codismallspore.utp new file mode 100644 index 0000000..aa0fb8d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codismallspore.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codispirea.utp b/cep_blueprints/_hak/prc_add_sb/codispirea.utp new file mode 100644 index 0000000..2d97a43 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codispirea.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codispirebench.utp b/cep_blueprints/_hak/prc_add_sb/codispirebench.utp new file mode 100644 index 0000000..8d5b609 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codispirebench.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codisporegroup1.utp b/cep_blueprints/_hak/prc_add_sb/codisporegroup1.utp new file mode 100644 index 0000000..3ee6b8b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codisporegroup1.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codisporegroup2.utp b/cep_blueprints/_hak/prc_add_sb/codisporegroup2.utp new file mode 100644 index 0000000..2d90b1c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codisporegroup2.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codistatuebuddha.utp b/cep_blueprints/_hak/prc_add_sb/codistatuebuddha.utp new file mode 100644 index 0000000..b48611e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codistatuebuddha.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codistatuegargoy.utp b/cep_blueprints/_hak/prc_add_sb/codistatuegargoy.utp new file mode 100644 index 0000000..7abda22 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codistatuegargoy.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codistatuejudge.utp b/cep_blueprints/_hak/prc_add_sb/codistatuejudge.utp new file mode 100644 index 0000000..69d457c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codistatuejudge.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codistatuesit.utp b/cep_blueprints/_hak/prc_add_sb/codistatuesit.utp new file mode 100644 index 0000000..b95c38b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codistatuesit.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codistone.utp b/cep_blueprints/_hak/prc_add_sb/codistone.utp new file mode 100644 index 0000000..27bf680 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codistone.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codisupportarcha.utp b/cep_blueprints/_hak/prc_add_sb/codisupportarcha.utp new file mode 100644 index 0000000..63bea57 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codisupportarcha.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codisupportarchb.utp b/cep_blueprints/_hak/prc_add_sb/codisupportarchb.utp new file mode 100644 index 0000000..bb70994 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codisupportarchb.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/coditable.utp b/cep_blueprints/_hak/prc_add_sb/coditable.utp new file mode 100644 index 0000000..e1d0271 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/coditable.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/coditable03.utp b/cep_blueprints/_hak/prc_add_sb/coditable03.utp new file mode 100644 index 0000000..eea1b48 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/coditable03.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/coditiltedspire.utp b/cep_blueprints/_hak/prc_add_sb/coditiltedspire.utp new file mode 100644 index 0000000..2a8e8e9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/coditiltedspire.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codiwall.utp b/cep_blueprints/_hak/prc_add_sb/codiwall.utp new file mode 100644 index 0000000..2856d74 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codiwall.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codiwall2.utp b/cep_blueprints/_hak/prc_add_sb/codiwall2.utp new file mode 100644 index 0000000..3a27f07 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codiwall2.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codiwall3.utp b/cep_blueprints/_hak/prc_add_sb/codiwall3.utp new file mode 100644 index 0000000..cd6dc8c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codiwall3.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/codiwall4.utp b/cep_blueprints/_hak/prc_add_sb/codiwall4.utp new file mode 100644 index 0000000..babd523 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/codiwall4.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/colors_inc.nss b/cep_blueprints/_hak/prc_add_sb/colors_inc.nss new file mode 100644 index 0000000..6a068c6 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/colors_inc.nss @@ -0,0 +1,566 @@ +/* + * colors_inc.nss + * + * Access to the color tokens provided by The Krit. + ************************************************************ + * Please use these judiciously to enhance the gaming + * experience. (Overuse of colors detracts from it.) + ************************************************************ + * Color tokens in a string will change the color from that + * point on when the string is displayed on the screen. + * Every color change should be ended by an end token, + * supplied by ColorTokenEnd(). + ************************************************************/ + + +/////////////////////////////////////////////////////////////////////////////// +// Constants +/////////////////////////////////////////////////////////////////////////////// + + +const string ColorArray = "  !##$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]]^_`abcdefghijklmnopqrstuvwxyz{|}~"; + + + +/////////////////////////////////////////////////////////////////////////////// +// Prototypes +/////////////////////////////////////////////////////////////////////////////// + + +// Supplies a string that changes the text to the given RGB values. +// Valid parameter values are 0-255. +string ColorToken(int nRed, int nGreen, int nBlue); + +// Supplies a string that ends an earlier color change. +string ColorTokenEnd(); + +/////////////////////////////////////////////////////////////////////////////// + +// Supplies a string that changes the text to black. +string ColorTokenBlack(); + +// Supplies a string that changes the text to blue. +string ColorTokenBlue(); + +// Supplies a string that changes the text to gray. +string ColorTokenGray(); + +// Supplies a string that changes the text to green. +string ColorTokenGreen(); + +// Supplies a string that changes the text to light purple. +string ColorTokenLightPurple(); + +// Supplies a string that changes the text to orange. +string ColorTokenOrange(); + +// Supplies a string that changes the text to pink. +string ColorTokenPink(); + +// Supplies a string that changes the text to purple. +string ColorTokenPurple(); + +// Supplies a string that changes the text to red. +string ColorTokenRed(); + +// Supplies a string that changes the text to white. +string ColorTokenWhite(); + +// Supplies a string that changes the text to yellow. +string ColorTokenYellow(); + +/////////////////////////////////////////////////////////////////////////////// + +// Supplies a string that changes the text to the color of +// combat messages. +string ColorTokenCombat(); + +// Supplies a string that changes the text to the color of +// dialog. +string ColorTokenDialog(); + +// Supplies a string that changes the text to the color of +// dialog actions. +string ColorTokenDialogAction(); + +// Supplies a string that changes the text to the color of +// dialog checks. +string ColorTokenDialogCheck(); + +// Supplies a string that changes the text to the color of +// dialog highlighting. +string ColorTokenDialogHighlight(); + +// Supplies a string that changes the text to the color of +// replies in the dialog window. +string ColorTokenDialogReply(); + +// Supplies a string that changes the text to the color of +// the DM channel. +string ColorTokenDM(); + +// Supplies a string that changes the text to the color of +// many game engine messages. +string ColorTokenGameEngine(); + +// Supplies a string that changes the text to the color of +// saving throw messages. +string ColorTokenSavingThrow(); + +// Supplies a string that changes the text to the color of +// messages sent from scripts. +string ColorTokenScript(); + +// Supplies a string that changes the text to the color of +// server messages. +string ColorTokenServer(); + +// Supplies a string that changes the text to the color of +// shouts. +string ColorTokenShout(); + +// Supplies a string that changes the text to the color of +// skill check messages. +string ColorTokenSkillCheck(); + +// Supplies a string that changes the text to the color of +// the talk and party talk channels. +string ColorTokenTalk(); + +// Supplies a string that changes the text to the color of +// tells. +string ColorTokenTell(); + +// Supplies a string that changes the text to the color of +// whispers. +string ColorTokenWhisper(); + +/////////////////////////////////////////////////////////////////////////////// + +// Returns the name of oPC, surrounded by color tokens, so the color of +// the name is the lighter blue often used in NWN game engine messages. +string GetNamePCColor(object oPC); + +// Returns the name of oNPC, surrounded by color tokens, so the color of +// the name is the shade of purple often used in NWN game engine messages. +string GetNameNPCColor(object oNPC); + + + +/////////////////////////////////////////////////////////////////////////////// +// Basic Functions +/////////////////////////////////////////////////////////////////////////////// + + +/////////////////////////////////////////////////////////////////////////////// +// ColorToken() +// +// Supplies a string that changes the text to the given RGB values. +// Valid parameter values are 0-255. +// +string ColorToken(int nRed, int nGreen, int nBlue) +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenEnd() +// +// Supplies a string that ends an earlier color change. +// +string ColorTokenEnd() +{ + return ""; +} + + + +/////////////////////////////////////////////////////////////////////////////// +// Functions by Color +/////////////////////////////////////////////////////////////////////////////// + + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenBlack() +// +// Supplies a string that changes the text to black. +// +string ColorTokenBlack() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenBlue() +// +// Supplies a string that changes the text to blue. +// +string ColorTokenBlue() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenGray() +// +// Supplies a string that changes the text to gray. +// +string ColorTokenGray() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenGreen() +// +// Supplies a string that changes the text to green. +// +string ColorTokenGreen() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenLightPurple() +// +// Supplies a string that changes the text to light purple. +// +string ColorTokenLightPurple() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenOrange() +// +// Supplies a string that changes the text to orange. +// +string ColorTokenOrange() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenPink() +// +// Supplies a string that changes the text to pink. +// +string ColorTokenPink() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenPurple() +// +// Supplies a string that changes the text to purple. +// +string ColorTokenPurple() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenRed() +// +// Supplies a string that changes the text to red. +// +string ColorTokenRed() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenWhite() +// +// Supplies a string that changes the text to white. +// +string ColorTokenWhite() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenYellow() +// +// Supplies a string that changes the text to yellow. +// +string ColorTokenYellow() +{ + return ""; +} + + + +/////////////////////////////////////////////////////////////////////////////// +// Functions by Purpose +/////////////////////////////////////////////////////////////////////////////// + + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenCombat() +// +// Supplies a string that changes the text to the color of +// combat messages. +// +string ColorTokenCombat() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenDialog() +// +// Supplies a string that changes the text to the color of +// dialog. +// +string ColorTokenDialog() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenDialogAction() +// +// Supplies a string that changes the text to the color of +// dialog actions. +// +string ColorTokenDialogAction() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenDialogCheck() +// +// Supplies a string that changes the text to the color of +// dialog checks. +// +string ColorTokenDialogCheck() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenDialogHighlight() +// +// Supplies a string that changes the text to the color of +// dialog highlighting. +// +string ColorTokenDialogHighlight() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenDialogReply() +// +// Supplies a string that changes the text to the color of +// replies in the dialog window. +// +string ColorTokenDialogReply() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenDM() +// +// Supplies a string that changes the text to the color of +// the DM channel. +// +string ColorTokenDM() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenGameEngine() +// +// Supplies a string that changes the text to the color of +// many game engine messages. +// +string ColorTokenGameEngine() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenSavingThrow() +// +// Supplies a string that changes the text to the color of +// saving throw messages. +// +string ColorTokenSavingThrow() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenScript() +// +// Supplies a string that changes the text to the color of +// messages sent from scripts. +// +string ColorTokenScript() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenServer() +// +// Supplies a string that changes the text to the color of +// server messages. +// +string ColorTokenServer() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenShout() +// +// Supplies a string that changes the text to the color of +// shouts. +// +string ColorTokenShout() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenSkillCheck() +// +// Supplies a string that changes the text to the color of +// skill check messages. +// +string ColorTokenSkillCheck() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenTalk() +// +// Supplies a string that changes the text to the color of +// the talk and party talk channels. +// +string ColorTokenTalk() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenTell() +// +// Supplies a string that changes the text to the color of +// tells. +// +string ColorTokenTell() +{ + return ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// ColorTokenWhisper() +// +// Supplies a string that changes the text to the color of +// whispers. +// +string ColorTokenWhisper() +{ + return ""; +} + + + +/////////////////////////////////////////////////////////////////////////////// +// Colored Name Functions +/////////////////////////////////////////////////////////////////////////////// + + +/////////////////////////////////////////////////////////////////////////////// +// GetNamePCColor() +// +// Returns the name of oPC, surrounded by color tokens, so the color of +// the name is the lighter blue often used in NWN game engine messages. +// +// +string GetNamePCColor(object oPC) +{ + return "" + + GetName(oPC) + ""; +} + +/////////////////////////////////////////////////////////////////////////////// +// GetNameNPCColor() +// +// Returns the name of oNPC, surrounded by color tokens, so the color of +// the name is the shade of purple often used in NWN game engine messages. +// +string GetNameNPCColor(object oNPC) +{ + return "" + + GetName(oNPC) + ""; +} diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check1.ncs b/cep_blueprints/_hak/prc_add_sb/conv_check1.ncs new file mode 100644 index 0000000..c1955f0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/conv_check1.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check1.nss b/cep_blueprints/_hak/prc_add_sb/conv_check1.nss new file mode 100644 index 0000000..768f81f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/conv_check1.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ object oPC = GetPCSpeaker(); + int iPageLen = 10; + int iPage = GetLocalInt(oPC, "iConvPage"); + int iTotalItems = GetLocalInt(oPC, "iConvTotal"); + + int iPageTotal = iTotalItems - (iPage * iPageLen); + + return (iPageTotal >= 1); +} diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check10.ncs b/cep_blueprints/_hak/prc_add_sb/conv_check10.ncs new file mode 100644 index 0000000..b5045bd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/conv_check10.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check10.nss b/cep_blueprints/_hak/prc_add_sb/conv_check10.nss new file mode 100644 index 0000000..3b3c3e9 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/conv_check10.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ object oPC = GetPCSpeaker(); + int iPageLen = 10; + int iPage = GetLocalInt(oPC, "iConvPage"); + int iTotalItems = GetLocalInt(oPC, "iConvTotal"); + + int iPageTotal = iTotalItems - (iPage * iPageLen); + + return (iPageTotal >= 10); +} diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check2.ncs b/cep_blueprints/_hak/prc_add_sb/conv_check2.ncs new file mode 100644 index 0000000..bf10f2c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/conv_check2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check2.nss b/cep_blueprints/_hak/prc_add_sb/conv_check2.nss new file mode 100644 index 0000000..4340a7d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/conv_check2.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ object oPC = GetPCSpeaker(); + int iPageLen = 10; + int iPage = GetLocalInt(oPC, "iConvPage"); + int iTotalItems = GetLocalInt(oPC, "iConvTotal"); + + int iPageTotal = iTotalItems - (iPage * iPageLen); + + return (iPageTotal >= 2); +} diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check3.ncs b/cep_blueprints/_hak/prc_add_sb/conv_check3.ncs new file mode 100644 index 0000000..f7c41d3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/conv_check3.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check3.nss b/cep_blueprints/_hak/prc_add_sb/conv_check3.nss new file mode 100644 index 0000000..755da66 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/conv_check3.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ object oPC = GetPCSpeaker(); + int iPageLen = 10; + int iPage = GetLocalInt(oPC, "iConvPage"); + int iTotalItems = GetLocalInt(oPC, "iConvTotal"); + + int iPageTotal = iTotalItems - (iPage * iPageLen); + + return (iPageTotal >= 3); +} diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check4.ncs b/cep_blueprints/_hak/prc_add_sb/conv_check4.ncs new file mode 100644 index 0000000..338c26b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/conv_check4.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check4.nss b/cep_blueprints/_hak/prc_add_sb/conv_check4.nss new file mode 100644 index 0000000..61661a8 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/conv_check4.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ object oPC = GetPCSpeaker(); + int iPageLen = 10; + int iPage = GetLocalInt(oPC, "iConvPage"); + int iTotalItems = GetLocalInt(oPC, "iConvTotal"); + + int iPageTotal = iTotalItems - (iPage * iPageLen); + + return (iPageTotal >= 4); +} diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check5.ncs b/cep_blueprints/_hak/prc_add_sb/conv_check5.ncs new file mode 100644 index 0000000..b596110 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/conv_check5.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check5.nss b/cep_blueprints/_hak/prc_add_sb/conv_check5.nss new file mode 100644 index 0000000..3838d31 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/conv_check5.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ object oPC = GetPCSpeaker(); + int iPageLen = 10; + int iPage = GetLocalInt(oPC, "iConvPage"); + int iTotalItems = GetLocalInt(oPC, "iConvTotal"); + + int iPageTotal = iTotalItems - (iPage * iPageLen); + + return (iPageTotal >= 5); +} diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check6.ncs b/cep_blueprints/_hak/prc_add_sb/conv_check6.ncs new file mode 100644 index 0000000..0aed8d7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/conv_check6.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check6.nss b/cep_blueprints/_hak/prc_add_sb/conv_check6.nss new file mode 100644 index 0000000..41ad7d6 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/conv_check6.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ object oPC = GetPCSpeaker(); + int iPageLen = 10; + int iPage = GetLocalInt(oPC, "iConvPage"); + int iTotalItems = GetLocalInt(oPC, "iConvTotal"); + + int iPageTotal = iTotalItems - (iPage * iPageLen); + + return (iPageTotal >= 6); +} diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check7.ncs b/cep_blueprints/_hak/prc_add_sb/conv_check7.ncs new file mode 100644 index 0000000..0b85f7e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/conv_check7.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check7.nss b/cep_blueprints/_hak/prc_add_sb/conv_check7.nss new file mode 100644 index 0000000..481ee1b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/conv_check7.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ object oPC = GetPCSpeaker(); + int iPageLen = 10; + int iPage = GetLocalInt(oPC, "iConvPage"); + int iTotalItems = GetLocalInt(oPC, "iConvTotal"); + + int iPageTotal = iTotalItems - (iPage * iPageLen); + + return (iPageTotal >= 7); +} diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check8.ncs b/cep_blueprints/_hak/prc_add_sb/conv_check8.ncs new file mode 100644 index 0000000..d395fb1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/conv_check8.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check8.nss b/cep_blueprints/_hak/prc_add_sb/conv_check8.nss new file mode 100644 index 0000000..115c6d0 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/conv_check8.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ object oPC = GetPCSpeaker(); + int iPageLen = 10; + int iPage = GetLocalInt(oPC, "iConvPage"); + int iTotalItems = GetLocalInt(oPC, "iConvTotal"); + + int iPageTotal = iTotalItems - (iPage * iPageLen); + + return (iPageTotal >= 8); +} diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check9.ncs b/cep_blueprints/_hak/prc_add_sb/conv_check9.ncs new file mode 100644 index 0000000..44565d0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/conv_check9.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/conv_check9.nss b/cep_blueprints/_hak/prc_add_sb/conv_check9.nss new file mode 100644 index 0000000..f3f6364 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/conv_check9.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ object oPC = GetPCSpeaker(); + int iPageLen = 10; + int iPage = GetLocalInt(oPC, "iConvPage"); + int iTotalItems = GetLocalInt(oPC, "iConvTotal"); + + int iPageTotal = iTotalItems - (iPage * iPageLen); + + return (iPageTotal >= 9); +} diff --git a/cep_blueprints/_hak/prc_add_sb/conv_checknext.ncs b/cep_blueprints/_hak/prc_add_sb/conv_checknext.ncs new file mode 100644 index 0000000..e5eea42 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/conv_checknext.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/conv_checknext.nss b/cep_blueprints/_hak/prc_add_sb/conv_checknext.nss new file mode 100644 index 0000000..b70e3d0 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/conv_checknext.nss @@ -0,0 +1,9 @@ +int StartingConditional() +{ object oPC = GetPCSpeaker(); + int iPageLen = 10; + int iPage = GetLocalInt(oPC, "iConvPage"); + int iTotalItems = GetLocalInt(oPC, "iConvTotal"); + + + return (iTotalItems > ((iPage * iPageLen) + iPageLen)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/conv_checkprev.ncs b/cep_blueprints/_hak/prc_add_sb/conv_checkprev.ncs new file mode 100644 index 0000000..2e6191b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/conv_checkprev.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/conv_checkprev.nss b/cep_blueprints/_hak/prc_add_sb/conv_checkprev.nss new file mode 100644 index 0000000..262b212 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/conv_checkprev.nss @@ -0,0 +1,6 @@ +int StartingConditional() +{ object oPC = GetPCSpeaker(); + int iPage = GetLocalInt(oPC, "iConvPage"); + + return (iPage != 0); +} diff --git a/cep_blueprints/_hak/prc_add_sb/conv_clear.ncs b/cep_blueprints/_hak/prc_add_sb/conv_clear.ncs new file mode 100644 index 0000000..1c98c47 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/conv_clear.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/conv_clear.nss b/cep_blueprints/_hak/prc_add_sb/conv_clear.nss new file mode 100644 index 0000000..b5250f6 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/conv_clear.nss @@ -0,0 +1,9 @@ +void main() +{ + object oPC = GetPCSpeaker(); + + DeleteLocalInt(oPC, "iConvPage"); + DeleteLocalInt(oPC, "iConvChoice"); + DeleteLocalString(oPC, "sConvScript"); + DeleteLocalInt(oPC, "iConvTotal"); +} diff --git a/cep_blueprints/_hak/prc_add_sb/conv_nextpage.ncs b/cep_blueprints/_hak/prc_add_sb/conv_nextpage.ncs new file mode 100644 index 0000000..3f0c160 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/conv_nextpage.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/conv_nextpage.nss b/cep_blueprints/_hak/prc_add_sb/conv_nextpage.nss new file mode 100644 index 0000000..6175b22 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/conv_nextpage.nss @@ -0,0 +1,6 @@ +void main() +{ object oPC = GetPCSpeaker(); + int iPage = GetLocalInt(oPC, "iConvPage"); + iPage++; + SetLocalInt(oPC, "iConvPage", iPage); +} diff --git a/cep_blueprints/_hak/prc_add_sb/conv_prevpage.ncs b/cep_blueprints/_hak/prc_add_sb/conv_prevpage.ncs new file mode 100644 index 0000000..9d87e28 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/conv_prevpage.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/conv_prevpage.nss b/cep_blueprints/_hak/prc_add_sb/conv_prevpage.nss new file mode 100644 index 0000000..487eaf5 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/conv_prevpage.nss @@ -0,0 +1,6 @@ +void main() +{ object oPC = GetPCSpeaker(); + int iPage = GetLocalInt(oPC, "iConvPage"); + iPage--; + SetLocalInt(oPC, "iConvPage", iPage); +} diff --git a/cep_blueprints/_hak/prc_add_sb/craniumrathide.uti b/cep_blueprints/_hak/prc_add_sb/craniumrathide.uti new file mode 100644 index 0000000..b3bf0f1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/craniumrathide.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/crushingwalltrap.utp b/cep_blueprints/_hak/prc_add_sb/crushingwalltrap.utp new file mode 100644 index 0000000..be3ad99 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/crushingwalltrap.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/cut_and_paste.ncs b/cep_blueprints/_hak/prc_add_sb/cut_and_paste.ncs new file mode 100644 index 0000000..f0a1d1b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/cut_and_paste.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/cut_and_paste.nss b/cep_blueprints/_hak/prc_add_sb/cut_and_paste.nss new file mode 100644 index 0000000..077c085 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/cut_and_paste.nss @@ -0,0 +1,12 @@ +/* paste the following in your OnActivateItem module event + + + + // *add: Social Pheno v2* \\ + if(GetTag(oItem) == "TBIT_BANJO") + { + ExecuteScript("tbx0_banjo01",GetItemActivator()); + } + // *end: Social Pheno v2* \\ + + diff --git a/cep_blueprints/_hak/prc_add_sb/cz_realtroll_sp.ncs b/cep_blueprints/_hak/prc_add_sb/cz_realtroll_sp.ncs new file mode 100644 index 0000000..cbda402 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/cz_realtroll_sp.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/cz_realtroll_sp.nss b/cep_blueprints/_hak/prc_add_sb/cz_realtroll_sp.nss new file mode 100644 index 0000000..6515d24 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/cz_realtroll_sp.nss @@ -0,0 +1,285 @@ +#include "x0_i0_anims" +// #include "x0_i0_walkway" - in x0_i0_anims +#include "x0_i0_treasure" + +#include "x2_inc_switches" + +void main() +{ + // ***** Spawn-In Conditions ***** // + + // * REMOVE COMMENTS (// ) before the "Set..." functions to activate + // * them. Do NOT touch lines commented out with // *, those are + // * real comments for information. + + // * This causes the creature to say a one-line greeting in their + // * conversation file upon perceiving the player. Put [NW_D2_GenCheck] + // * in the "Text Seen When" field of the greeting in the conversation + // * file. Don't attach any player responses. + // * + // SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + + // * Same as above, but for hostile creatures to make them say + // * a line before attacking. + // * + // SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + + // * This NPC will attack when its allies call for help + // * + // SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + + // * If the NPC has the Hide skill they will go into stealth mode + // * while doing WalkWayPoints(). + // * + // SetSpawnInCondition(NW_FLAG_STEALTH); + + //-------------------------------------------------------------------------- + // Enable stealth mode by setting a variable on the creature + // Great for ambushes + // See x2_inc_switches for more information about this + //-------------------------------------------------------------------------- + if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_STEALTH) == TRUE) + { + SetSpawnInCondition(NW_FLAG_STEALTH); + } + // * Same, but for Search mode + // * + // SetSpawnInCondition(NW_FLAG_SEARCH); + + //-------------------------------------------------------------------------- + // Make creature enter search mode after spawning by setting a variable + // Great for guards, etc + // See x2_inc_switches for more information about this + //-------------------------------------------------------------------------- + if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_SEARCH) == TRUE) + { + SetSpawnInCondition(NW_FLAG_SEARCH); + } + // * This will set the NPC to give a warning to non-enemies + // * before attacking. + // * NN -- no clue what this really does yet + // * + // SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + + // * Separate the NPC's waypoints into day & night. + // * See comment on WalkWayPoints() for use. + // * + // SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING); + + // * If this is set, the NPC will appear using the "EffectAppear" + // * animation instead of fading in, *IF* SetListeningPatterns() + // * is called below. + // * + //SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION); + + // * This will cause an NPC to use common animations it possesses, + // * and use social ones to any other nearby friendly NPCs. + // * + // SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS); + + //-------------------------------------------------------------------------- + // Enable immobile ambient animations by setting a variable + // See x2_inc_switches for more information about this + //-------------------------------------------------------------------------- + if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_AMBIENT_IMMOBILE) == TRUE) + { + SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS); + } + // * Same as above, except NPC will wander randomly around the + // * area. + // * + // SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS); + + + //-------------------------------------------------------------------------- + // Enable mobile ambient animations by setting a variable + // See x2_inc_switches for more information about this + //-------------------------------------------------------------------------- + if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_AMBIENT) == TRUE) + { + SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS); + } + // **** Animation Conditions **** // + // * These are extra conditions you can put on creatures with ambient + // * animations. + + // * Civilized creatures interact with placeables in + // * their area that have the tag "NW_INTERACTIVE" + // * and "talk" to each other. + // * + // * Humanoid races are civilized by default, so only + // * set this flag for monster races that you want to + // * behave the same way. + // SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED); + + // * If this flag is set, this creature will constantly + // * be acting. Otherwise, creatures will only start + // * performing their ambient animations when they + // * first perceive a player, and they will stop when + // * the player moves away. + // SetAnimationCondition(NW_ANIM_FLAG_CONSTANT); + + // * Civilized creatures with this flag set will + // * randomly use a few voicechats. It's a good + // * idea to avoid putting this on multiple + // * creatures using the same voiceset. + // SetAnimationCondition(NW_ANIM_FLAG_CHATTER); + + // * Creatures with _immobile_ ambient animations + // * can have this flag set to make them mobile in a + // * close range. They will never leave their immediate + // * area, but will move around in it, frequently + // * returning to their starting point. + // * + // * Note that creatures spawned inside interior areas + // * that contain a waypoint with one of the tags + // * "NW_HOME", "NW_TAVERN", "NW_SHOP" will automatically + // * have this condition set. + // SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE); + + + // **** Special Combat Tactics *****// + // * These are special flags that can be set on creatures to + // * make them follow certain specialized combat tactics. + // * NOTE: ONLY ONE OF THESE SHOULD BE SET ON A SINGLE CREATURE. + + // * Ranged attacker + // * Will attempt to stay at ranged distance from their + // * target. + // SetCombatCondition(X0_COMBAT_FLAG_RANGED); + + // * Defensive attacker + // * Will use defensive combat feats and parry + // SetCombatCondition(X0_COMBAT_FLAG_DEFENSIVE); + + // * Ambusher + // * Will go stealthy/invisible and attack, then + // * run away and try to go stealthy again before + // * attacking anew. + // SetCombatCondition(X0_COMBAT_FLAG_AMBUSHER); + + // * Cowardly + // * Cowardly creatures will attempt to flee + // * attackers. + // SetCombatCondition(X0_COMBAT_FLAG_COWARDLY); + + + // **** Escape Commands ***** // + // * NOTE: ONLY ONE OF THE FOLLOWING SHOULD EVER BE SET AT ONE TIME. + // * NOTE2: Not clear that these actually work. -- NN + + // * Flee to a way point and return a short time later. + // * + // SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); + + // * Flee to a way point and do not return. + // * + // SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); + + // * Teleport to safety and do not return. + // * + // SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); + + // * Teleport to safety and return a short time later. + // * + // SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); + + + + // ***** CUSTOM USER DEFINED EVENTS ***** / + + + /* + If you uncomment any of these conditions, the creature will fire + a specific user-defined event number on each event. That will then + allow you to write custom code in the "OnUserDefinedEvent" handler + script to go on top of the default NPC behaviors for that event. + + Example: I want to add some custom behavior to my NPC when they + are damaged. I uncomment the "NW_FLAG_DAMAGED_EVENT", then create + a new user-defined script that has something like this in it: + + if (GetUserDefinedEventNumber() == 1006) { + // Custom code for my NPC to execute when it's damaged + } + + These user-defined events are in the range 1001-1007. + */ + + // * Fire User Defined Event 1001 in the OnHeartbeat + // * + SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); + + // * Fire User Defined Event 1002 + // * + // SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); + + // * Fire User Defined Event 1005 + // * + SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); + + // * Fire User Defined Event 1006 + // * + SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); + + // * Fire User Defined Event 1008 + // * + // SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); + + // * Fire User Defined Event 1003 + // * + // SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); + + // * Fire User Defined Event 1004 + // * + // SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); + + SetSpawnInCondition(NW_FLAG_SPELL_CAST_AT_EVENT); + + + + // ***** DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) ***** // + + // * Goes through and sets up which shouts the NPC will listen to. + // * + SetListeningPatterns(); + + // * Walk among a set of waypoints. + // * 1. Find waypoints with the tag "WP_" + NPC TAG + "_##" and walk + // * among them in order. + // * 2. If the tag of the Way Point is "POST_" + NPC TAG, stay there + // * and return to it after combat. + // + // * Optional Parameters: + // * void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // + // * If "NW_FLAG_DAY_NIGHT_POSTING" is set above, you can also + // * create waypoints with the tags "WN_" + NPC Tag + "_##" + // * and those will be walked at night. (The standard waypoints + // * will be walked during the day.) + // * The night "posting" waypoint tag is simply "NIGHT_" + NPC tag. + WalkWayPoints(); + SetImmortal(OBJECT_SELF,TRUE); + //* Create a small amount of treasure on the creature + if ((GetLocalInt(GetModule(), "X2_L_NOTREASURE") == FALSE) && + (GetLocalInt(OBJECT_SELF, "X2_L_NOTREASURE") == FALSE) ) + { + CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF); + } + + + // ***** ADD ANY SPECIAL ON-SPAWN CODE HERE ***** // + + // * If Incorporeal, apply changes + if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_IS_INCORPOREAL) == TRUE) + { + effect eConceal = EffectConcealment(50, MISS_CHANCE_TYPE_NORMAL); + eConceal = ExtraordinaryEffect(eConceal); + effect eGhost = EffectCutsceneGhost(); + eGhost = ExtraordinaryEffect(eGhost); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eConceal, OBJECT_SELF); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eGhost, OBJECT_SELF); + + } + +} diff --git a/cep_blueprints/_hak/prc_add_sb/cz_realtroll_ud.ncs b/cep_blueprints/_hak/prc_add_sb/cz_realtroll_ud.ncs new file mode 100644 index 0000000..b46144a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/cz_realtroll_ud.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/cz_realtroll_ud.nss b/cep_blueprints/_hak/prc_add_sb/cz_realtroll_ud.nss new file mode 100644 index 0000000..1d9254a --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/cz_realtroll_ud.nss @@ -0,0 +1,500 @@ +/* + +Tz-Auber's Perfect Troll Regeneration Script 1.3 +By: Tz-Auber +Last Modified: 9/23/03 +Developed for: 1.30/SoU + +Description +----------- +This small script properly implements 3rd Edition subdual damage rules as it relates +to regeneration. Some of the highlighted features are: +- By using the SetImmortal function, feedback for the Troll's health is properly + displayed. +- Only uses OnHeartbeat and OnDamaged events. No messing with OnDeath and XP + calculations. +- Allows for quickly killing a downed Troll through a specified item (by default, + a torch item type equipped in the off-hand) or through SoU grenade type + weapons (Acid Flask and Alchemist Fire). +- A knockdown effect occurs when actual damage exceeds subdual damage, and it + also simulates attacking a prone opponent. +- Allows for automatic 3E Coup de Grace attempts if the Troll is down and the equipped + weapon is capable of doing permanent damage. + +Modifications Required +---------------------- +- This script must be placed in a creature's OnUserDefined event. +- The OnSpawn script must have the following SetSpawnInConditions uncommented/added: + - NW_FLAG_HEARTBEAT_EVENT + - NW_FLAG_DAMAGED_EVENT + - NW_FLAG_ATTACK_EVENT + - NW_FLAG_SPELL_CAST_AT_EVENT +- The following line must be added in the OnSpawn script at the end + - SetImmortal(OBJECT_SELF,TRUE); +- Remove the default Troll's regeneration property by removing it's hide from the + creature inventory (or remove the regeneration property if you want to keep + other hide properties). + +Credits +------- +I want to thank U'lias, as I used his code for a basis and starting point +(creation date 12/29/02). His code can be found by searching the vault under +"Ulias' 3eMM D&D Style Trolls v1.3" + +I would also like to thank El Magnifico Uno, one of the pioneers of Troll +regeneration code, who also provided useful critique in the development of this +work. + +Version History +--------------- +1.5 (8/3/06, Resonance) + * Making the full round burning uninterruptible can also glitch PCs so that + they are stuck until they relog, so remove that. PCs will still play the + bending over animation, and will still queue attacks until after that + finishes, but if they run, they can break out of the animation immediately + without problems. + +1.4 (8/1/06, Resonance) + * Acid, Fire, and Death Magic spells now properly act like grenades + * Forcing the PCs to run to the target on Coup de Grace causes locks, so removed. + * Burning the body from melee still takes a full round + * Flame Weapon and Darkfire now make weapons count as torches + * There is no apparent way to get Flame Weapon/Darkfire damage to + actually count as fire damage, however -- it is always subdual. + * Coup de Grace damage is now cumulative for setting DC + * Factored out fire and acid death effect code + +1.3 (9/23/03) - Found out that my code has just been released into the wilds of + a PW and have received a lot of useful feedback. New features added: support + for 3E Coup de Grace attempts and the use of Alchemist Fire and Acid Flasks + to fry a Troll in addition to the torch. + +1.2 (9/22/03) - Hmm.. this was supposed to come sooner, but here it is. Changed + from a resref dependency of the burning item, to a base item type dependency. + So any BASE_ITEM_TORCH equipped in the off-hand should work regardless of + tags and resrefs. Finally added debug message considerations. I'll save + the final spell modifications when HotU comes out, but a small placeholder + is there in the meantime. + +1.1 (7/24/03) - My implementation of subdual rules were a little messed up. I'm now + considering damage in excess of the limit of SetImmortal function. Also + added visual effect support for acid damaging weapons and tweaked with the + fire visual effects a little. + +1.0 (7/21/03) - Initial Release + +*/ + +// Included for the RemoveSpecificEffect function +#include "nw_i0_spells" + +// The amount of hitpoints (subdual damage) regenerated per round +const int REGENERATION_VALUE = 5; + +// The time it takes (in full rounds) to burn a Troll +const int BURNING_TIME = 1; + +// Switching debug messages on/off +const int DEBUG_OUTPUT = 0; + +void BurnEffect() +{ + CreateObject(OBJECT_TYPE_PLACEABLE, "plc_weathmark", GetLocation(OBJECT_SELF), TRUE); +} + +// Find out if the weapon is burning from Flame Weapon or Darkfire +int GetIsBurning(object oItem) +{ + // Start by checking to see if it's a torch + if(GetBaseItemType(oItem) == BASE_ITEM_TORCH) return TRUE; + + // Now check for Flame Weapon or Darkfire + itemproperty ip = GetFirstItemProperty(oItem); + while (GetIsItemPropertyValid(ip)) + { + if (GetItemPropertyType(ip) == ITEM_PROPERTY_ONHITCASTSPELL) + { + if (GetItemPropertySubType(ip) == 127) return TRUE; // Darkfire + if (GetItemPropertySubType(ip) == 124) return TRUE; // Flame Weapon + if (GetItemPropertySubType(ip) == 301) return TRUE; //Purist Burning Blade + } + ip = GetNextItemProperty(oItem); + } + return FALSE; +} + + +// Returns 0 if the spell does neither fire nor acid damage +// Returns 1 if the spell does acid damage +// Returns 2 if the spell does fire damage (or both fire and acid) +// Returns 3 if the spell is death magic +// Grenades are counted as spells +int IsAcidFireDeathSpell(int nSpellID) +{ + int retval = 0; // Default to neither fire nor acid + + switch(nSpellID) + { + // Check for acid spells + case SPELL_ACID_FOG: + case SPELL_ACID_SPLASH: + case SPELL_CLOUDKILL: + case SPELL_GRENADE_ACID: + case SPELL_MELFS_ACID_ARROW: + case SPELL_MESTILS_ACID_BREATH: + case SPELL_MESTILS_ACID_SHEATH: + case SPELL_STORM_OF_VENGEANCE: + retval = 1; + break; + + // Check for fire spells + // Flame Weapon/Darkfire from OnHit don't count? + case SPELL_BURNING_HANDS: + case SPELL_COMBUST: + case SPELL_DARKFIRE: + case SPELL_DELAYED_BLAST_FIREBALL: + case SPELL_EPIC_HELLBALL: + case SPELL_FIRE_STORM: + case SPELL_FIREBALL: + case SPELL_FIREBRAND: + case SPELL_FLAME_ARROW: + case SPELL_FLAME_LASH: + case SPELL_FLAME_STRIKE: + case SPELL_FLAME_WEAPON: + case SPELL_GRENADE_FIRE: + case SPELL_INCENDIARY_CLOUD: + case SPELL_INFERNO: + case SPELL_METEOR_SWARM: + case SPELL_SEARING_LIGHT: + case SPELL_SHADES_FIREBALL: + case SPELL_SHADES_WALL_OF_FIRE: + case SPELL_SUNBEAM: + case SPELL_SUNBURST: + retval = 2; + break; + + // Check for death magic + case SPELL_CIRCLE_OF_DEATH: + case SPELL_DESTRUCTION: + case SPELL_FINGER_OF_DEATH: + case SPELL_IMPLOSION: + case SPELL_POWER_WORD_KILL: + case SPELL_SLAY_LIVING: + case SPELL_WAIL_OF_THE_BANSHEE: + case SPELL_WORD_OF_FAITH: + retval = 3; + break; + } + return retval; +} + +// Troll death effect: fire damage +void FireDeathEffect(object oTroll) +{ + effect eFlame = EffectVisualEffect(VFX_DUR_INFERNO_CHEST); //VFX_IMP_FLAME_M + DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eFlame, oTroll, 3.0)); + DelayCommand(1.5, BurnEffect()); + //object oFlame = CreateObject(OBJECT_TYPE_PLACEABLE, "plc_flamemedium", GetLocation(oTroll), TRUE); + //DestroyObject(oFlame, 3.25); + return; +} + +// Troll death effect: acid damage +void AcidDeathEffect(object oTroll) +{ + effect eAcid = EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_ACID); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eAcid, oTroll); + return; +} + +void main() +{ + int nUser = GetUserDefinedEventNumber(); + + if(nUser == EVENT_HEARTBEAT) // OnHeartbeat Event + { + // the Troll's cumulative Fire and Acid damage + int nPermanentDamage = GetLocalInt(OBJECT_SELF, "nPermanentDamage");; + // the Troll's original maximum hitpoints + int nOriginalHPs = GetMaxHitPoints(OBJECT_SELF); + // the Troll's current hitpoints + int nCurrentHPs = GetCurrentHitPoints(OBJECT_SELF); + // the Troll's excess damage + int nExcessDamage = GetLocalInt(OBJECT_SELF, "nExcessDamage"); + + // the maximum number of HPs that the Troll can possibly regenerate due + // to permanent fire or acid damage + int nMaxHPsPossible = nOriginalHPs - nPermanentDamage; + + // Debug Stuff + if(DEBUG_OUTPUT) + { + SendMessageToPC(GetFirstPC(),"Current HPs = " + IntToString(nCurrentHPs)); + SendMessageToPC(GetFirstPC(),"Subdual Damage = " + IntToString(nMaxHPsPossible - nCurrentHPs)); + SendMessageToPC(GetFirstPC(),"Excess Damage = " + IntToString(nExcessDamage)); + SendMessageToPC(GetFirstPC(),"Effective HPs = " + IntToString(nCurrentHPs - nExcessDamage)); + SendMessageToPC(GetFirstPC(),"Max Possible HPs = " + IntToString(nMaxHPsPossible) + "/" + IntToString(nOriginalHPs)); + SendMessageToPC(GetFirstPC(),"-----"); + } + + // the Troll may only regenerate if its current HPs are less than its + // maximum possible HPs left after fire and acid damage + if(nExcessDamage >= REGENERATION_VALUE) + { + nExcessDamage -= REGENERATION_VALUE; + SetLocalInt(OBJECT_SELF, "nExcessDamage", nExcessDamage); + } + else if(nExcessDamage > 0) + { + // regeneration effect (the excess difference) + effect eHeal = EffectHeal(REGENERATION_VALUE - nExcessDamage); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, OBJECT_SELF); + + nExcessDamage = 0; + SetLocalInt(OBJECT_SELF, "nExcessDamage", nExcessDamage); + } + else if (nCurrentHPs <= (nMaxHPsPossible - REGENERATION_VALUE)) + { + // regeneration effect (5 HPs every round) + effect eHeal = EffectHeal(REGENERATION_VALUE); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, OBJECT_SELF); + } + else if (nCurrentHPs <= nMaxHPsPossible) + { + // regeneration effect (the remainder of hitpoints) + effect eHeal = EffectHeal(nMaxHPsPossible - nCurrentHPs); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, OBJECT_SELF); + } + + // the Troll will now see if it can get up after it's latest beating + // provided that the Troll is grounded + effect eKnockdown = EffectKnockdown(); + int bDowned = GetLocalInt(OBJECT_SELF,"bDowned"); + // When current subdual damage is lower than current hit points + if (((nMaxHPsPossible - nCurrentHPs + nExcessDamage) < nMaxHPsPossible)&&(bDowned)) + { + RemoveSpecificEffect(GetEffectType(eKnockdown),OBJECT_SELF); + SetLocalInt(OBJECT_SELF,"bDowned",0); + } + } + else if(nUser == EVENT_DAMAGED) // OnDamaged Event + { + object oDamager = GetLastDamager(); + + // the Troll's cumulative Permanent damage + int nPermanentDamage = GetLocalInt(OBJECT_SELF, "nPermanentDamage"); + // the Troll's current Fire damage newly received + int nFireDamage = GetDamageDealtByType(DAMAGE_TYPE_FIRE); + // the Troll's current Acid damage newly received + int nAcidDamage = GetDamageDealtByType(DAMAGE_TYPE_ACID); + // the rest of the damage inflicted on the Troll + int nOtherDamage = GetTotalDamageDealt() - nFireDamage - nAcidDamage; + // the Troll's excess damage + int nExcessDamage = GetLocalInt(OBJECT_SELF, "nExcessDamage"); + // the Troll's coup de grace cumulative damage + int nCoupDamage = GetLocalInt(OBJECT_SELF, "nCoupDamage"); + // the Troll's current hitpoints + int nCurrentHPs = GetCurrentHitPoints(OBJECT_SELF); + // the Troll's previous (newly inflicted HP value) + int nPrevHPs = GetLocalInt(OBJECT_SELF, "nPrevHPs"); + // in case this is the first time the Troll is damaged + if(nPrevHPs == 0) + nPrevHPs = GetMaxHitPoints(OBJECT_SELF); + + // if there is damage in excess of the previous hp value, + // excess damage will be updated + if(nOtherDamage > nPrevHPs) + nExcessDamage += (nOtherDamage - nPrevHPs); + + // Now the excess damage and previous hit points will be updated + SetLocalInt(OBJECT_SELF,"nExcessDamage",nExcessDamage); + SetLocalInt(OBJECT_SELF,"nPrevHPs",nCurrentHPs); + + // make sure Fire damage is not less than 0 + if (nFireDamage < 0) nFireDamage = 0; + // make sure Acid damage is not less than 0 + if (nAcidDamage < 0) nAcidDamage = 0; + + // if the Troll suffered Fire damage + if (nFireDamage > 0) + { + // keep track of cumulative Fire damage + nPermanentDamage += nFireDamage; + // won't be counted as subdual damage + effect eHeal = EffectHeal(nFireDamage); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, OBJECT_SELF); + } + // if the Troll suffered Acid damage + if (nAcidDamage > 0) + { + // keep track of cumulative Acid damage + nPermanentDamage += nAcidDamage; + // won't be counted as subdual damage + effect eHeal = EffectHeal(nAcidDamage); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, OBJECT_SELF); + } + + // Apply the Permanent Damage + SetLocalInt(OBJECT_SELF,"nPermanentDamage",nPermanentDamage); + + // the Troll's original maximum hitpoints + int nOriginalHPs = GetMaxHitPoints(OBJECT_SELF); + // the maximum number of HPs that the Troll can possibly regenerate due + // to permanent fire or acid damage + int nMaxHPsPossible = nOriginalHPs - nPermanentDamage; + + // This part will simulate an unconscience effect via knockdown + // If the troll's subdual damage exceeds it's current hitpoints ... + effect eKnockdown = EffectKnockdown(); + int bDowned = GetLocalInt(OBJECT_SELF,"bDowned"); + // When current subdual damage is higher than current hit points + if ((nMaxHPsPossible < (nMaxHPsPossible - nCurrentHPs + nExcessDamage))&&(!bDowned)) + { + ApplyEffectToObject(DURATION_TYPE_PERMANENT,eKnockdown,OBJECT_SELF); + bDowned = 1; + SetLocalInt(OBJECT_SELF,"bDowned",bDowned); + } + + // Now let's check and see if the troll has attained final death + // First we'll check whether someone is carefully burning the body + // (will take a full round to perform) + object oLeftHandItem = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oDamager); + object oRightHandItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oDamager); + + if( bDowned && (GetIsBurning(oLeftHandItem) || GetIsBurning(oRightHandItem)) ) + { +// DelayCommand(0.2,SetCommandable(FALSE,oDamager)); + AssignCommand(oDamager, ClearAllActions()); + AssignCommand(oDamager, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 1.0, RoundsToSeconds(BURNING_TIME))); +// AssignCommand(oDamager, ActionDoCommand(SetCommandable(TRUE,oDamager))); + FireDeathEffect(OBJECT_SELF); + effect eDeath = EffectDeath(); + SetImmortal(OBJECT_SELF,FALSE); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, OBJECT_SELF); + } + else if( bDowned && (GetLocalInt(oDamager, "VAR_IGNITESPELL") == 1)) + { +// DelayCommand(0.2,SetCommandable(FALSE,oDamager)); + AssignCommand(oDamager, ClearAllActions()); + AssignCommand(oDamager, ActionPlayAnimation(ANIMATION_LOOPING_WORSHIP, 0.8, RoundsToSeconds(BURNING_TIME))); +// AssignCommand(oDamager, ActionDoCommand(SetCommandable(TRUE,oDamager))); + FireDeathEffect(OBJECT_SELF); + effect eDeath = EffectDeath(); + SetImmortal(OBJECT_SELF,FALSE); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, OBJECT_SELF); + } + // Now let's check and see if the damager is capable of performing a + // Coup de Grace attempt, and if so they will automatically perform one. + // The Troll's save will be Fortitude of DC 10 + Permanent Damage dealt. + else if (GetLocalInt(OBJECT_SELF,"bCoupdeGrace") && !GetLocalInt(OBJECT_SELF,"bGrenade") + && (nFireDamage || nAcidDamage) && bDowned) + { + DeleteLocalInt(OBJECT_SELF,"bCoupdeGrace"); + object eSelf = OBJECT_SELF; + location lSelf = GetLocation(eSelf); + + // DelayCommand(0.2,SetCommandable(FALSE,oDamager)); + // AssignCommand(oDamager, ClearAllActions()); + // AssignCommand(oDamager, ActionMoveToObject(eSelf,TRUE,0.1)); + // AssignCommand(oDamager, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 1.0, 4.5)); + // //AssignCommand(oDamager, ActionDoCommand(SetCommandable(TRUE,oDamager))); + + nCoupDamage = nCoupDamage + nFireDamage + nAcidDamage; + if(!FortitudeSave(OBJECT_SELF,10 + nCoupDamage, + SAVING_THROW_TYPE_ALL, oDamager)) + { + effect eBlood = EffectVisualEffect(VFX_COM_CHUNK_RED_SMALL); + + // AssignCommand(oDamager, ActionDoCommand(ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eBlood, lSelf))); + // AssignCommand(oDamager, ActionDoCommand(SetCommandable(TRUE,oDamager))); + + FloatingTextStringOnCreature("Coup de Grace (success)",oDamager); + + // Fire will be favored over acid in the event they are equal + if(nFireDamage >= nAcidDamage) + { + FireDeathEffect(OBJECT_SELF); + } + else + { + AcidDeathEffect(OBJECT_SELF); + } + effect eDeath = EffectDeath(); + SetImmortal(OBJECT_SELF,FALSE); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, OBJECT_SELF); + } + else // Fort save succeeded, store cumulative coup damage + { + // AssignCommand(oDamager, ActionDoCommand(SetCommandable(TRUE,oDamager))); + SetLocalInt(OBJECT_SELF, "nCoupDamage", nCoupDamage); + FloatingTextStringOnCreature("Coup de Grace (failure)",oDamager); + } + } + // ... or if it took damage the old fashioned way ... + // (i.e. all hitpoints exhausted due to fire and/or acid) + else if (nMaxHPsPossible <= 0) + { + SetImmortal(OBJECT_SELF,FALSE); + // Fire will be favored over acid in the event they are equal + if(nFireDamage >= nAcidDamage) + { + FireDeathEffect(OBJECT_SELF); + } + else + { + AcidDeathEffect(OBJECT_SELF); + } + effect eDeath = EffectDeath(); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, OBJECT_SELF); + } + } + else if(nUser == EVENT_SPELL_CAST_AT) // OnSpellCastAt Event + { + int nSpellID = GetLastSpell(); + int nAcidFireDeath = IsAcidFireDeathSpell(nSpellID); + + object oCaster = GetLastSpellCaster(); + + // Will consider all instant death effects, acid and fire damage from + // both spells and grenades + if(GetLastSpellHarmful()) + { + if(GetLocalInt(OBJECT_SELF,"bDowned") && nAcidFireDeath) + { + SetLocalInt(OBJECT_SELF,"bGrenade",1); + object eSelf = OBJECT_SELF; + + // DelayCommand(0.2,SetCommandable(FALSE,oCaster)); + // AssignCommand(oCaster, ClearAllActions()); + // AssignCommand(oCaster, ActionMoveToObject(eSelf,TRUE,0.1)); + // AssignCommand(oCaster, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 1.0, RoundsToSeconds(BURNING_TIME))); + // AssignCommand(oCaster, ActionDoCommand(SetCommandable(TRUE,oCaster))); + + if(nAcidFireDeath == 2) + { + FireDeathEffect(OBJECT_SELF); + } + else if(nAcidFireDeath == 1) + { + AcidDeathEffect(OBJECT_SELF); + } + effect eDeath = EffectDeath(); + SetImmortal(OBJECT_SELF,FALSE); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, OBJECT_SELF); + } + } + // Will consider all healing effects + else + { + + } + } + else if(nUser == EVENT_ATTACKED) // OnPhysicalAttacked Event + { + if(GetLocalInt(OBJECT_SELF,"bDowned")) + { + SetLocalInt(OBJECT_SELF,"bCoupdeGrace",1); + } + } +} + diff --git a/cep_blueprints/_hak/prc_add_sb/df_t0_camopita.ncs b/cep_blueprints/_hak/prc_add_sb/df_t0_camopita.ncs new file mode 100644 index 0000000..0960cd2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/df_t0_camopita.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/df_t0_camopita.nss b/cep_blueprints/_hak/prc_add_sb/df_t0_camopita.nss new file mode 100644 index 0000000..64d4810 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/df_t0_camopita.nss @@ -0,0 +1,52 @@ +//File name: df_t0_camopita +//Description: Scrips for use with CEP pit traps. + +#include "zep_inc_scrptdlg" + +void main() +{ + object oPC = GetEnteringObject(); + + //Now we make them fall in the hole. + + int nDC; + int nDamage; + object oTrap = GetAreaOfEffectCreator(OBJECT_SELF); + string sTag = GetTag(oTrap); + + nDamage =d6(1); + if(GetTrapDetectedBy(oTrap,oPC)) + nDC = 10; + else + nDC = 25; + + string sMessageToPC; + + if(ReflexSave(oPC, nDC, SAVING_THROW_TYPE_TRAP)) + { + sMessageToPC=GetStringByStrRef(nZEPPitJump,GENDER_MALE); + SendMessageToPC(oPC,sMessageToPC); + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_IMP_REFLEX_SAVE_THROW_USE), oPC); + } + else + { + sMessageToPC=GetStringByStrRef(nZEPPitFall,GENDER_MALE); + SendMessageToPC(oPC,sMessageToPC); + AssignCommand(oPC,PlaySound("cb_ht_fleshston2")); + PlayVoiceChat(VOICE_CHAT_PAIN3,oPC); + if(GetCurrentHitPoints(oPC)-nDamage>0) + { + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectDisappearAppear(GetLocation(oPC)), oPC, 30.0f); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectParalyze(), oPC, 30.0f); + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_BLUDGEONING, DAMAGE_POWER_NORMAL), oPC); + ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SMOKE_PUFF), GetLocation(oPC)); + sMessageToPC=GetStringByStrRef(nZEPPitClimb,GENDER_MALE); + DelayCommand(30.0,SendMessageToPC(oPC,sMessageToPC)); + } + else + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_BLUDGEONING, DAMAGE_POWER_NORMAL), oPC); + ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SMOKE_PUFF), GetLocation(oPC)); + } + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/df_t0_deeppita.ncs b/cep_blueprints/_hak/prc_add_sb/df_t0_deeppita.ncs new file mode 100644 index 0000000..869d6c9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/df_t0_deeppita.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/df_t0_deeppita.nss b/cep_blueprints/_hak/prc_add_sb/df_t0_deeppita.nss new file mode 100644 index 0000000..fb7aa58 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/df_t0_deeppita.nss @@ -0,0 +1,52 @@ +//File name: df_t0_deeppita +//Usage: Scripts for use with CEP Deep pit trap. + +#include "zep_inc_scrptdlg" + + +void main() +{ + object oPC = GetEnteringObject(); + + //Now we make them fall in the hole. + + int nDC; + int nDamage; + object oTrap = GetAreaOfEffectCreator(OBJECT_SELF); + string sTag = GetTag(oTrap); + + nDamage =d6(2); + if(GetTrapDetectedBy(oTrap,oPC)) + nDC = 10; + else + nDC = 15; + string sMessageToPC; + + if(ReflexSave(oPC, nDC, SAVING_THROW_TYPE_TRAP)) + { + sMessageToPC=GetStringByStrRef(nZEPPitJump,GENDER_MALE); + SendMessageToPC(oPC,sMessageToPC); + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_IMP_REFLEX_SAVE_THROW_USE), oPC); + } + else + { + sMessageToPC=GetStringByStrRef(nZEPPitFall,GENDER_MALE); + SendMessageToPC(oPC,sMessageToPC); + AssignCommand(oPC,PlaySound("cb_ht_fleshston2")); + PlayVoiceChat(VOICE_CHAT_PAIN3,oPC); + if(GetCurrentHitPoints(oPC)-nDamage>0) + { + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectDisappearAppear(GetLocation(oPC)), oPC, 30.0f); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectParalyze(), oPC, 30.0f); + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_BLUDGEONING, DAMAGE_POWER_NORMAL), oPC); + ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SMOKE_PUFF), GetLocation(oPC)); + sMessageToPC=GetStringByStrRef(nZEPPitClimb,GENDER_MALE); + DelayCommand(30.0,SendMessageToPC(oPC,sMessageToPC)); + } + else + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_BLUDGEONING, DAMAGE_POWER_NORMAL), oPC); + ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SMOKE_PUFF), GetLocation(oPC)); + } + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/df_t0_whirlbldc.ncs b/cep_blueprints/_hak/prc_add_sb/df_t0_whirlbldc.ncs new file mode 100644 index 0000000..332e8ca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/df_t0_whirlbldc.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/df_t0_whirlbldc.nss b/cep_blueprints/_hak/prc_add_sb/df_t0_whirlbldc.nss new file mode 100644 index 0000000..485f4e2 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/df_t0_whirlbldc.nss @@ -0,0 +1,81 @@ + void TrapPlayAnim(object oTrap) +{ + AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); +} + + +void ResetWhirlingBlades() +{ + object oTrap = GetLocalObject(OBJECT_SELF,"TRP_TRP"); + + DeleteLocalInt(oTrap,"TRP_TRIGGERED"); + PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE); + DestroyObject(OBJECT_SELF); + if(GetIsObjectValid(oTrap)) + { + DeleteLocalInt(oTrap,"TRP_TRP"); + } +} + +void main() +{ + if(GetLocalInt(OBJECT_SELF,"TRP_TRIGGERED")) + return; + + SetLocalInt(OBJECT_SELF,"TRP_TRIGGERED",1); + + + object oTrap; + + if(GetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW")==0) + { + location lPlcbl = GetLocalLocation(OBJECT_SELF,"TRP_PLCBL_LOC"); + SetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW",1); + oTrap = CreateObject(OBJECT_TYPE_PLACEABLE,"whirlbladepcbl",lPlcbl); + SetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ",oTrap); + } + else + oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + + AssignCommand(oTrap,DelayCommand(1.0,TrapPlayAnim(oTrap))); + AssignCommand(oTrap,ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,EffectAreaOfEffect(40),GetLocation(oTrap),120.0)); + AssignCommand(oTrap,DelayCommand(120.0, ResetWhirlingBlades())); + object oThis = OBJECT_SELF; + SetLocalObject(oTrap, "TRP_TRP", oThis); + + + int nDC; + int nDamage; + string sTag = GetTag(oTrap); + + object oPC = GetFirstObjectInShape(SHAPE_SPHERE,5.0,GetLocation(oTrap)); + while(GetIsObjectValid(oPC)) + { + nDamage = d4(2)+4; + nDC = 20; + if(!ReflexSave(oPC, nDC, SAVING_THROW_TYPE_TRAP)) + { + if (GetHasFeat(FEAT_IMPROVED_EVASION, oPC)) + { + nDamage /= 2; + } + } + else if (GetHasFeat(FEAT_EVASION, oPC) || GetHasFeat(FEAT_IMPROVED_EVASION, oPC)) + { + nDamage = 0; + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_IMP_REFLEX_SAVE_THROW_USE), oPC); + } + else + { + nDamage /= 2; + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_IMP_REFLEX_SAVE_THROW_USE), oPC); + } + + if(nDamage>0) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_SLASHING, DAMAGE_POWER_NORMAL), oPC); + ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_COM_BLOOD_CRT_RED), GetLocation(oPC)); + } + oPC = GetNextObjectInShape(SHAPE_SPHERE,5.0,GetLocation(oTrap)); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_bricks.ncs b/cep_blueprints/_hak/prc_add_sb/df_t1_bricks.ncs new file mode 100644 index 0000000..db9aa20 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/df_t1_bricks.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_bricks.nss b/cep_blueprints/_hak/prc_add_sb/df_t1_bricks.nss new file mode 100644 index 0000000..1b0ddfa --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/df_t1_bricks.nss @@ -0,0 +1,73 @@ +void TrapPlayAnim(object oTrap) +{ + AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); +} + +void FallingBrickHitPC(object oPC, int nDamage) +{ + object oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + PlayVoiceChat(VOICE_CHAT_PAIN2,oPC); + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_COM_BLOOD_CRT_RED), oPC); + AssignCommand(oTrap,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_BLUDGEONING, DAMAGE_POWER_NORMAL), oPC)); +} + +int TrapSave(object oPC, int nDC, int nDamage) +{ + if(!ReflexSave(oPC, nDC, SAVING_THROW_TYPE_TRAP)) + { + if (GetHasFeat(FEAT_IMPROVED_EVASION, oPC)) + nDamage /= 2; + } + else if (GetHasFeat(FEAT_EVASION, oPC) || GetHasFeat(FEAT_IMPROVED_EVASION, oPC)) + { + nDamage = 0; + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_IMP_REFLEX_SAVE_THROW_USE), oPC); + } + else + nDamage /= 2; + + return nDamage; +} + +void main() +{ + if(GetLocalInt(OBJECT_SELF,"TRP_TRIGGERED")) + return; + + SetLocalInt(OBJECT_SELF,"TRP_TRIGGERED",1); + + + object oTrap; + + if(GetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW")==0) + { + location lPlcbl = GetLocalLocation(OBJECT_SELF,"TRP_PLCBL_LOC"); + SetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW",1); + oTrap = CreateObject(OBJECT_TYPE_PLACEABLE,"fallingbrickpcbl",lPlcbl); + SetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ",oTrap); + } + else + oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + + + AssignCommand(oTrap,DelayCommand(1.0,TrapPlayAnim(oTrap))); + + int nDC = 15; + object oPC = GetNearestObject(OBJECT_TYPE_CREATURE, oTrap); + AssignCommand(oPC, PlaySound("as_na_rockfallg1"));//cb_bu_stonelg + int nDamage,nN; + while(GetIsObjectValid(oPC)&&(GetDistanceBetween(oTrap,oPC)<2.0)) + { + nDamage = d6(2); + + nDamage = TrapSave(oPC, nDC, nDamage); + + if(nDamage>0) + { + DelayCommand(1.1,FallingBrickHitPC(oPC,nDamage)); + } + + nN++; + oPC = GetNearestObject(OBJECT_TYPE_CREATURE, oTrap, nN); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_camopit.ncs b/cep_blueprints/_hak/prc_add_sb/df_t1_camopit.ncs new file mode 100644 index 0000000..b1aa915 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/df_t1_camopit.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_camopit.nss b/cep_blueprints/_hak/prc_add_sb/df_t1_camopit.nss new file mode 100644 index 0000000..9f5f473 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/df_t1_camopit.nss @@ -0,0 +1,18 @@ +void TrapPlayAnim(object oTrap) +{ + AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); +} + +void main() +{ + if(GetLocalInt(OBJECT_SELF,"TRP_TRIGGERED")) + return; + + SetLocalInt(OBJECT_SELF,"TRP_TRIGGERED",1); + + object oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + + TrapPlayAnim(oTrap); + ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,EffectAreaOfEffect(38),GetLocation(oTrap),HoursToSeconds(200)); + return; +} diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_ceilingbld.ncs b/cep_blueprints/_hak/prc_add_sb/df_t1_ceilingbld.ncs new file mode 100644 index 0000000..b67a213 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/df_t1_ceilingbld.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_ceilingbld.nss b/cep_blueprints/_hak/prc_add_sb/df_t1_ceilingbld.nss new file mode 100644 index 0000000..64e43d0 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/df_t1_ceilingbld.nss @@ -0,0 +1,76 @@ +void TrapPlayAnim(object oTrap) +{ + AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); +} + +int TrapSave(object oPC, int nDC, int nDamage) +{ + if(!ReflexSave(oPC, nDC, SAVING_THROW_TYPE_TRAP)) + { + if (GetHasFeat(FEAT_IMPROVED_EVASION, oPC)) + nDamage /= 2; + } + else if (GetHasFeat(FEAT_EVASION, oPC) || GetHasFeat(FEAT_IMPROVED_EVASION, oPC)) + { + nDamage = 0; + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_IMP_REFLEX_SAVE_THROW_USE), oPC); + } + else + nDamage /= 2; + + return nDamage; +} + + +void main() +{ + if(GetLocalInt(OBJECT_SELF,"TRP_TRIGGERED")) + return; + + SetLocalInt(OBJECT_SELF,"TRP_TRIGGERED",1); + + + object oTrap; + + if(GetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW")==0) + { + location lPlcbl = GetLocalLocation(OBJECT_SELF,"TRP_PLCBL_LOC"); + SetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW",1); + oTrap = CreateObject(OBJECT_TYPE_PLACEABLE,"swingbladepcbl",lPlcbl); + SetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ",oTrap); + } + else + oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + + + AssignCommand(oTrap,DelayCommand(1.0,TrapPlayAnim(oTrap))); + + object oTriggerer = GetEnteringObject(); + + int nDC =20; + int nDamage, nN; + + nDamage = TrapSave(oTriggerer, nDC, d12(1)); + if(nDamage>0) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_COM_BLOOD_CRT_RED), oTriggerer); + AssignCommand(oTrap,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_SLASHING, DAMAGE_POWER_NORMAL), oTriggerer)); + } + + object oPC = GetNearestObject(OBJECT_TYPE_CREATURE, oTriggerer); + while(GetIsObjectValid(oPC)&&(GetDistanceBetween(oTriggerer,oPC)<2.0)) + { + nDamage = d12(1); + + nDamage = TrapSave(oPC, nDC, nDamage); + + if(nDamage>0) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_COM_BLOOD_CRT_RED), oPC); + AssignCommand(oTrap,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_SLASHING, DAMAGE_POWER_NORMAL), oPC)); + } + + nN++; + oPC = GetNearestObject(OBJECT_TYPE_CREATURE, oTriggerer, nN); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_deeppit.ncs b/cep_blueprints/_hak/prc_add_sb/df_t1_deeppit.ncs new file mode 100644 index 0000000..de08589 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/df_t1_deeppit.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_deeppit.nss b/cep_blueprints/_hak/prc_add_sb/df_t1_deeppit.nss new file mode 100644 index 0000000..910ad0c --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/df_t1_deeppit.nss @@ -0,0 +1,28 @@ +void TrapPlayAnim(object oTrap) +{ + AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); +} + +void main() +{ + if(GetLocalInt(OBJECT_SELF,"TRP_TRIGGERED")) + return; + + SetLocalInt(OBJECT_SELF,"TRP_TRIGGERED",1); + + + object oTrap; + + if(GetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW")==0) + { + location lPlcbl = GetLocalLocation(OBJECT_SELF,"TRP_PLCBL_LOC"); + SetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW",1); + oTrap = CreateObject(OBJECT_TYPE_PLACEABLE,"metalpitpcbl",lPlcbl); + SetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ",oTrap); + } + else + oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + + AssignCommand(oTrap,DelayCommand(1.0,TrapPlayAnim(oTrap))); + ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,EffectAreaOfEffect(39),GetLocation(oTrap),HoursToSeconds(200)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_floodroom.ncs b/cep_blueprints/_hak/prc_add_sb/df_t1_floodroom.ncs new file mode 100644 index 0000000..dcde419 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/df_t1_floodroom.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_floodroom.nss b/cep_blueprints/_hak/prc_add_sb/df_t1_floodroom.nss new file mode 100644 index 0000000..f8f610d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/df_t1_floodroom.nss @@ -0,0 +1,85 @@ +void TrapPlayAnim(object oTrap) +{ + AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); +} + +void Drown(object oPC) +{ + if(GetLocalInt(OBJECT_SELF,"TRP_TRIGGERED")==1) + { + int nD = GetLocalInt(oPC,"DROWNING"); + if(nD==4) //Beginning of the 5th round + { + DeleteLocalInt(oPC,"DROWNING"); + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDeath(), oPC); + } + else + { + SetLocalInt(oPC,"DROWNING",nD+1); + AssignCommand(oPC,SpeakString("Blub! Glug!")); + DelayCommand(6.0,Drown(oPC)); + } + } + else + { + effect eAOE = GetFirstEffect(oPC); + while (GetIsEffectValid(eAOE)) + { + if (GetEffectCreator(eAOE) == OBJECT_SELF) + { + RemoveEffect(oPC, eAOE); + } + //Get next effect on the target + eAOE = GetNextEffect(oPC); + } + DeleteLocalInt(oPC,"DROWNING"); + } +} + +void main() +{ + if(GetLocalInt(OBJECT_SELF,"TRP_TRIGGERED")) + return; + + SetLocalInt(OBJECT_SELF,"TRP_TRIGGERED",1); + + + object oTrap; + + if(GetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW")==0) + { + location lPlcbl = GetLocalLocation(OBJECT_SELF,"TRP_PLCBL_LOC"); + SetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW",1); + oTrap = CreateObject(OBJECT_TYPE_PLACEABLE,"floodpcbl",lPlcbl); + SetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ",oTrap); + } + else + oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + + +AssignCommand(oTrap, PlaySound("al_na_fountainlg")); + AssignCommand(oTrap,DelayCommand(1.0,TrapPlayAnim(oTrap))); + + location lWater; + + vector v = GetPosition(oTrap); + vector w = AngleToVector(GetFacing(oTrap)); + + lWater = Location(GetArea(oTrap),Vector(v.x+(8.0*w.x),v.y+(8.0*w.y),v.z),GetFacing(oTrap)); + object oDoor = GetNearestObject(OBJECT_TYPE_DOOR); + AssignCommand(oDoor,ActionCloseDoor(oDoor)); + AssignCommand(oDoor,SetLocked(oDoor,TRUE)); + + object oPC = GetFirstObjectInShape(SHAPE_CUBE,8.0,lWater,TRUE); + while(GetIsObjectValid(oPC)) + { + if(GetLocalInt(oPC,"DROWNING")) + DeleteLocalInt(oPC,"DROWNING"); + else + { + ApplyEffectToObject(DURATION_TYPE_PERMANENT,EffectSlow(),oPC); + DelayCommand(6.0,Drown(oPC)); + } + oPC = GetNextObjectInShape(SHAPE_CUBE,8.0,lWater,TRUE); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_razorwire.ncs b/cep_blueprints/_hak/prc_add_sb/df_t1_razorwire.ncs new file mode 100644 index 0000000..6ece1f1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/df_t1_razorwire.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_razorwire.nss b/cep_blueprints/_hak/prc_add_sb/df_t1_razorwire.nss new file mode 100644 index 0000000..680477f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/df_t1_razorwire.nss @@ -0,0 +1,49 @@ +int TrapSave(object oPC, int nDC, int nDamage) +{ + if(!ReflexSave(oPC, nDC, SAVING_THROW_TYPE_TRAP)) + { + if (GetHasFeat(FEAT_IMPROVED_EVASION, oPC)) + nDamage /= 2; + } + else if (GetHasFeat(FEAT_EVASION, oPC) || GetHasFeat(FEAT_IMPROVED_EVASION, oPC)) + { + nDamage = 0; + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_IMP_REFLEX_SAVE_THROW_USE), oPC); + } + else + nDamage /= 2; + + return nDamage; +} + +void main() +{ + object oTrap; + if(GetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW")==0) + { + location lPlcbl = GetLocalLocation(OBJECT_SELF,"TRP_PLCBL_LOC"); + SetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW",1); + oTrap = CreateObject(OBJECT_TYPE_PLACEABLE,"razorwirepcbl",lPlcbl); + SetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ",oTrap); + } + else + oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + + + int nDC=25; + int nDamage = d6(2); + object oPC = GetEnteringObject(); + if(GetTrapDetectedBy(OBJECT_SELF, oPC)) + nDC =10; + + nDamage = TrapSave(oPC, nDC, nDamage); + + if(nDamage>0) + { + PlayVoiceChat(VOICE_CHAT_PAIN1,oPC); + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_COM_BLOOD_REG_RED), oPC); + AssignCommand(oTrap,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_SLASHING, DAMAGE_POWER_NORMAL), oPC)); + if(nDamage>6) + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectMovementSpeedDecrease(80), oPC, 30.0f); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_rollinrock.ncs b/cep_blueprints/_hak/prc_add_sb/df_t1_rollinrock.ncs new file mode 100644 index 0000000..b76274f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/df_t1_rollinrock.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_rollinrock.nss b/cep_blueprints/_hak/prc_add_sb/df_t1_rollinrock.nss new file mode 100644 index 0000000..cd303b3 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/df_t1_rollinrock.nss @@ -0,0 +1,82 @@ +void TrapPlayAnim(object oTrap) +{ + AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); +} + +void RollingRockHitPC(object oPC, int nDamage) +{ + object oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_COM_BLOOD_CRT_RED), oPC); + AssignCommand(oTrap,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_BLUDGEONING, DAMAGE_POWER_NORMAL), oPC)); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectKnockdown(), oPC, 30.0f); +} + +int TrapSave(object oPC, int nDC, int nDamage) +{ + if(!ReflexSave(oPC, nDC, SAVING_THROW_TYPE_TRAP)) + { + if (GetHasFeat(FEAT_IMPROVED_EVASION, oPC)) + nDamage /= 2; + } + else if (GetHasFeat(FEAT_EVASION, oPC) || GetHasFeat(FEAT_IMPROVED_EVASION, oPC)) + { + nDamage = 0; + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_IMP_REFLEX_SAVE_THROW_USE), oPC); + } + else + nDamage /= 2; + + return nDamage; +} + +void main() +{ + if(GetLocalInt(OBJECT_SELF,"TRP_TRIGGERED")) + return; + + SetLocalInt(OBJECT_SELF,"TRP_TRIGGERED",1); + + + object oTrap; + + if(GetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW")==0) + { + location lPlcbl = GetLocalLocation(OBJECT_SELF,"TRP_PLCBL_LOC"); + SetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW",1); + oTrap = CreateObject(OBJECT_TYPE_PLACEABLE,"rollingrockpcbl",lPlcbl); + SetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ",oTrap); + } + else + oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + + AssignCommand(oTrap,PlaySound("as_na_rockcavlg1")); + AssignCommand(oTrap,DelayCommand(1.0,TrapPlayAnim(oTrap))); + + int nDC=25; + int nDamage = d6(2); + location lEnd; + vector vVector,vOrigin, vAngle; + float fFacing; + object oArea; + + lEnd = GetLocation(oTrap); + fFacing = GetFacingFromLocation(lEnd); + vVector = GetPositionFromLocation(lEnd); + vAngle = AngleToVector(fFacing); + oArea = GetAreaFromLocation(lEnd); + lEnd = Location(oArea,Vector(vVector.x+(-20.0*vAngle.x),vVector.y+(-20.0*vAngle.y),vVector.z),-fFacing); + + vOrigin = Vector(vVector.x+(-24.0*vAngle.x),vVector.y+(-24.0*vAngle.y),vVector.z); + + object oPC = GetFirstObjectInShape(SHAPE_SPELLCYLINDER,24.5,lEnd,FALSE,OBJECT_TYPE_CREATURE,vOrigin); + while(GetIsObjectValid(oPC)) + { + nDamage = TrapSave(oPC, nDC, nDamage); + + if(nDamage>0) + { + DelayCommand(1.5,RollingRockHitPC(oPC,nDamage)); + } + oPC = GetNextObjectInShape(SHAPE_SPELLCYLINDER,24.5,lEnd,FALSE,OBJECT_TYPE_CREATURE,vOrigin); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_swingblock.ncs b/cep_blueprints/_hak/prc_add_sb/df_t1_swingblock.ncs new file mode 100644 index 0000000..5bb9347 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/df_t1_swingblock.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_swingblock.nss b/cep_blueprints/_hak/prc_add_sb/df_t1_swingblock.nss new file mode 100644 index 0000000..1f6c1e8 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/df_t1_swingblock.nss @@ -0,0 +1,74 @@ +void TrapPlayAnim(object oTrap) +{ + AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); +} + +int TrapSave(object oPC, int nDC, int nDamage) +{ + if(!ReflexSave(oPC, nDC, SAVING_THROW_TYPE_TRAP)) + { + if (GetHasFeat(FEAT_IMPROVED_EVASION, oPC)) + nDamage /= 2; + } + else if (GetHasFeat(FEAT_EVASION, oPC) || GetHasFeat(FEAT_IMPROVED_EVASION, oPC)) + { + nDamage = 0; + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_IMP_REFLEX_SAVE_THROW_USE), oPC); + } + else + nDamage /= 2; + + return nDamage; +} + +void main() +{ + if(GetLocalInt(OBJECT_SELF,"TRP_TRIGGERED")) + return; + + SetLocalInt(OBJECT_SELF,"TRP_TRIGGERED",1); + + + object oTrap; + + if(GetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW")==0) + { + location lPlcbl = GetLocalLocation(OBJECT_SELF,"TRP_PLCBL_LOC"); + SetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW",1); + oTrap = CreateObject(OBJECT_TYPE_PLACEABLE,"swingingrockpcbl",lPlcbl); + SetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ",oTrap); + } + else + oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + + + AssignCommand(oTrap,DelayCommand(1.0,TrapPlayAnim(oTrap))); + + int nDC =20; + int nDamage, nN; + object oTriggerer = GetEnteringObject(); + + nDamage = TrapSave(oTriggerer, nDC, d6(2)); + if(nDamage>0) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_COM_BLOOD_CRT_RED), oTriggerer); + AssignCommand(oTrap,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_BLUDGEONING, DAMAGE_POWER_NORMAL), oTriggerer)); + } + + object oPC = GetNearestObject(OBJECT_TYPE_CREATURE, oTriggerer); + while(GetIsObjectValid(oPC)&&(GetDistanceBetween(oTriggerer,oPC)<2.0)) + { + nDamage = d6(2); + + nDamage = TrapSave(oPC, nDC, nDamage); + + if(nDamage>0) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_COM_BLOOD_CRT_RED), oPC); + AssignCommand(oTrap,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_BLUDGEONING, DAMAGE_POWER_NORMAL), oPC)); + } + + nN++; + oPC = GetNearestObject(OBJECT_TYPE_CREATURE, oTriggerer, nN); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_wallspike.ncs b/cep_blueprints/_hak/prc_add_sb/df_t1_wallspike.ncs new file mode 100644 index 0000000..b4f1578 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/df_t1_wallspike.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_wallspike.nss b/cep_blueprints/_hak/prc_add_sb/df_t1_wallspike.nss new file mode 100644 index 0000000..96b1748 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/df_t1_wallspike.nss @@ -0,0 +1,70 @@ +void TrapPlayAnim(object oTrap) +{ + AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); +} + +int TrapSave(object oPC, int nDC, int nDamage) +{ + if(!ReflexSave(oPC, nDC, SAVING_THROW_TYPE_TRAP)) + { + if (GetHasFeat(FEAT_IMPROVED_EVASION, oPC)) + nDamage /= 2; + } + else if (GetHasFeat(FEAT_EVASION, oPC) || GetHasFeat(FEAT_IMPROVED_EVASION, oPC)) + { + nDamage = 0; + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_IMP_REFLEX_SAVE_THROW_USE), oPC); + } + else + nDamage /= 2; + + return nDamage; +} + +void main() +{ + if(GetLocalInt(OBJECT_SELF,"TRP_TRIGGERED")) + return; + + SetLocalInt(OBJECT_SELF,"TRP_TRIGGERED",1); + + + object oTrap; + + if(GetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW")==0) + { + location lPlcbl = GetLocalLocation(OBJECT_SELF,"TRP_PLCBL_LOC"); + SetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW",1); + oTrap = CreateObject(OBJECT_TYPE_PLACEABLE,"wallbladepcbl",lPlcbl); + SetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ",oTrap); + } + else + oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + + + AssignCommand(oTrap,DelayCommand(1.0,TrapPlayAnim(oTrap))); + + int nDC = 15; + int nTot = 0; + int nN, nDamage; + object oPC = GetEnteringObject(); + for(nN=0;nN<4;nN++) + { + nDamage = d4(2); + + nDamage = TrapSave(oPC, nDC, nDamage); + + if(nDamage>0) + AssignCommand(oTrap,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_PIERCING, DAMAGE_POWER_NORMAL), oPC)); + + nTot+=nDamage; + } + if(nTot>0) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_COM_BLOOD_CRT_RED), oPC); + AssignCommand(oPC,PlaySound("cb_ht_metblleth2")); + PlayVoiceChat(VOICE_CHAT_PAIN1,oPC); + } + else + AssignCommand(oPC,PlaySound("cb_sw_blade2")); +} diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_whirlblade.ncs b/cep_blueprints/_hak/prc_add_sb/df_t1_whirlblade.ncs new file mode 100644 index 0000000..f894192 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/df_t1_whirlblade.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/df_t1_whirlblade.nss b/cep_blueprints/_hak/prc_add_sb/df_t1_whirlblade.nss new file mode 100644 index 0000000..313617d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/df_t1_whirlblade.nss @@ -0,0 +1,79 @@ +void TrapPlayAnim(object oTrap) +{ + AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); +} + + +void ResetWhirlingBlades() +{ + object oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + + DeleteLocalInt(OBJECT_SELF,"TRP_TRIGGERED"); + + if(GetIsObjectValid(oTrap)) + { + AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); + DestroyObject(oTrap,1.0); + DeleteLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW"); + } +} + +void main() +{ + if(GetLocalInt(OBJECT_SELF,"TRP_TRIGGERED")) + return; + + SetLocalInt(OBJECT_SELF,"TRP_TRIGGERED",1); + + + object oTrap; + + if(GetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW")==0) + { + location lPlcbl = GetLocalLocation(OBJECT_SELF,"TRP_PLCBL_LOC"); + SetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW",1); + oTrap = CreateObject(OBJECT_TYPE_PLACEABLE,"whirlbladepcbl",lPlcbl); + SetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ",oTrap); + } + else + oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + + AssignCommand(oTrap,DelayCommand(1.0,TrapPlayAnim(oTrap))); + ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,EffectAreaOfEffect(40),GetLocation(oTrap),120.0); + DelayCommand(120.0, ResetWhirlingBlades()); + + int nDC; + int nDamage; + string sTag = GetTag(oTrap); + + object oPC = GetFirstObjectInShape(SHAPE_SPHERE,5.0,GetLocation(oTrap)); + while(GetIsObjectValid(oPC)) + { + nDamage = d4(2)+4; + nDC = 20; + if(!ReflexSave(oPC, nDC, SAVING_THROW_TYPE_TRAP)) + { + if (GetHasFeat(FEAT_IMPROVED_EVASION, oPC)) + { + nDamage /= 2; + } + } + else if (GetHasFeat(FEAT_EVASION, oPC) || GetHasFeat(FEAT_IMPROVED_EVASION, oPC)) + { + nDamage = 0; + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_IMP_REFLEX_SAVE_THROW_USE), oPC); + } + else + { + nDamage /= 2; + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_IMP_REFLEX_SAVE_THROW_USE), oPC); + } + + if(nDamage>0) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_SLASHING, DAMAGE_POWER_NORMAL), oPC); + ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_COM_BLOOD_CRT_RED), GetLocation(oPC)); + } + oPC = GetNextObjectInShape(SHAPE_SPHERE,5.0,GetLocation(oTrap)); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/dla_horse001.utc b/cep_blueprints/_hak/prc_add_sb/dla_horse001.utc new file mode 100644 index 0000000..196463b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dla_horse001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/dla_hvywarhorse.utc b/cep_blueprints/_hak/prc_add_sb/dla_hvywarhorse.utc new file mode 100644 index 0000000..608d7fc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dla_hvywarhorse.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/dla_hvywarhorse2.utc b/cep_blueprints/_hak/prc_add_sb/dla_hvywarhorse2.utc new file mode 100644 index 0000000..523fb88 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dla_hvywarhorse2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/dla_hvywarhorse3.utc b/cep_blueprints/_hak/prc_add_sb/dla_hvywarhorse3.utc new file mode 100644 index 0000000..af6df32 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dla_hvywarhorse3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/dla_hvywarhorse4.utc b/cep_blueprints/_hak/prc_add_sb/dla_hvywarhorse4.utc new file mode 100644 index 0000000..3ac9cd1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dla_hvywarhorse4.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/dla_invisible.utc b/cep_blueprints/_hak/prc_add_sb/dla_invisible.utc new file mode 100644 index 0000000..ae5304a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dla_invisible.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/dla_jousthorse1.utc b/cep_blueprints/_hak/prc_add_sb/dla_jousthorse1.utc new file mode 100644 index 0000000..ed78d61 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dla_jousthorse1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/dla_jousthorse2.utc b/cep_blueprints/_hak/prc_add_sb/dla_jousthorse2.utc new file mode 100644 index 0000000..75b6a1f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dla_jousthorse2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/dla_jousthorse3.utc b/cep_blueprints/_hak/prc_add_sb/dla_jousthorse3.utc new file mode 100644 index 0000000..e6cd495 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dla_jousthorse3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/dla_jousthorse4.utc b/cep_blueprints/_hak/prc_add_sb/dla_jousthorse4.utc new file mode 100644 index 0000000..791fb2f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dla_jousthorse4.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/dla_jousthorse5.utc b/cep_blueprints/_hak/prc_add_sb/dla_jousthorse5.utc new file mode 100644 index 0000000..d8081e7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dla_jousthorse5.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/dla_nightmare001.utc b/cep_blueprints/_hak/prc_add_sb/dla_nightmare001.utc new file mode 100644 index 0000000..d1943d2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dla_nightmare001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/dla_nightmare003.utc b/cep_blueprints/_hak/prc_add_sb/dla_nightmare003.utc new file mode 100644 index 0000000..7b349dc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dla_nightmare003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_adjust.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_adjust.ncs new file mode 100644 index 0000000..32bcb1a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_adjust.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_adjust.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_adjust.nss new file mode 100644 index 0000000..3822ee5 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_adjust.nss @@ -0,0 +1,106 @@ + +// code to adjust location of placeable + +#include "x0_i0_position" +#include "dmts_common_inc" + +void main() +{ + // Retrieve variables from user, set up working variables + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oTarget"); + int iDirection = GetLocalInt(OBJECT_SELF, "DM_PAA_iDirection"); + int iConvChoice = GetLocalInt(OBJECT_SELF, "iConvChoice"); + float fAdjustment = 0.0f; + + location lTargetLocation = GetLocation(oTarget); + object oArea = GetAreaFromLocation(lTargetLocation); + float fFacing = GetFacingFromLocation(lTargetLocation); + vector vPosition = GetPositionFromLocation(lTargetLocation); + + switch (iConvChoice) + { case 1: + fAdjustment = 0.01f; break; + case 2: + fAdjustment = 0.05f; break; + case 3: + fAdjustment = 0.10f; break; + case 4: + fAdjustment = 0.25f; break; + case 5: + fAdjustment = 1.0f; break; + case 6: + fAdjustment = 5.0f; break; + case 7: + fAdjustment = 10.0f; break; + case 8: + fAdjustment = 25.0f; break; + case 9: + fAdjustment = 100.0f; break; + default: + fAdjustment = 0.0f; break; + } + + switch (iDirection) + { case 1: + vPosition = GetChangedPosition(vPosition, fAdjustment, fFacing); + lTargetLocation = Location(oArea, vPosition, fFacing); + break; + case 2: + vPosition = GetChangedPosition(vPosition, fAdjustment, fFacing + 180.0f); + lTargetLocation = Location(oArea, vPosition, fFacing); + break; + case 3: + vPosition = GetChangedPosition(vPosition, fAdjustment, fFacing + 90.0f); + lTargetLocation = Location(oArea, vPosition, fFacing); + break; + case 4: + vPosition = GetChangedPosition(vPosition, fAdjustment, fFacing - 90.0f); + lTargetLocation = Location(oArea, vPosition, fFacing); + break; + case 5: + vPosition = Vector(vPosition.x, vPosition.y, (vPosition.z + fAdjustment)); + lTargetLocation = Location(oArea, vPosition, fFacing); + break; + case 6: + vPosition = Vector(vPosition.x, vPosition.y, (vPosition.z - fAdjustment)); + lTargetLocation = Location(oArea, vPosition, fFacing); + break; + case 7: + vPosition = GetChangedPosition(vPosition, fAdjustment, 90.0f); + lTargetLocation = Location(oArea, vPosition, fFacing); + break; + case 8: + vPosition = GetChangedPosition(vPosition, fAdjustment, 270.0f); + lTargetLocation = Location(oArea, vPosition, fFacing); + break; + case 9: + vPosition = GetChangedPosition(vPosition, fAdjustment, 0.0f); + lTargetLocation = Location(oArea, vPosition, fFacing); + break; + case 10: + vPosition = GetChangedPosition(vPosition, fAdjustment, 180.0f); + lTargetLocation = Location(oArea, vPosition, fFacing); + break; + case 11: + vPosition = GetChangedPosition(vPosition, fAdjustment, 45.0f); + lTargetLocation = Location(oArea, vPosition, fFacing); + break; + case 12: + vPosition = GetChangedPosition(vPosition, fAdjustment, 135.0f); + lTargetLocation = Location(oArea, vPosition, fFacing); + break; + case 13: + vPosition = GetChangedPosition(vPosition, fAdjustment, 315.0f); + lTargetLocation = Location(oArea, vPosition, fFacing); + break; + case 14: + vPosition = GetChangedPosition(vPosition, fAdjustment, 225.0f); + lTargetLocation = Location(oArea, vPosition, fFacing); + break; + default: + SendMessageToPC(OBJECT_SELF, "ERROR: Invalid direction."); break; + } + + RecreateObjectAtLocation(oTarget, lTargetLocation); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_changedir.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_changedir.ncs new file mode 100644 index 0000000..a0be651 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_changedir.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_changedir.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_changedir.nss new file mode 100644 index 0000000..2ee6411 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_changedir.nss @@ -0,0 +1,5 @@ +void main() +{ + int iDirection = GetLocalInt(OBJECT_SELF, "iConvChoice"); + SetLocalInt(OBJECT_SELF, "DM_PAA_iDirection", iDirection); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checknext.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_checknext.ncs new file mode 100644 index 0000000..c362923 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_checknext.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checknext.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_checknext.nss new file mode 100644 index 0000000..6725412 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_checknext.nss @@ -0,0 +1,8 @@ +int StartingConditional() +{ + int iResult; + object oMore = GetLocalObject(OBJECT_SELF, "DM_PAA_oMore"); + + iResult = GetIsObjectValid(oMore); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp0.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp0.ncs new file mode 100644 index 0000000..198733c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp0.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp0.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp0.nss new file mode 100644 index 0000000..9bb8928 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp0.nss @@ -0,0 +1,8 @@ +int StartingConditional() +{ + int iResult; + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable0"); + + iResult = GetIsObjectValid(oTarget); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp1.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp1.ncs new file mode 100644 index 0000000..083a7f6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp1.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp1.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp1.nss new file mode 100644 index 0000000..dcadc7a --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp1.nss @@ -0,0 +1,8 @@ +int StartingConditional() +{ + int iResult; + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable1"); + + iResult = GetIsObjectValid(oTarget); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp2.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp2.ncs new file mode 100644 index 0000000..270d8f0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp2.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp2.nss new file mode 100644 index 0000000..4317a9d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp2.nss @@ -0,0 +1,8 @@ +int StartingConditional() +{ + int iResult; + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable2"); + + iResult = GetIsObjectValid(oTarget); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp3.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp3.ncs new file mode 100644 index 0000000..aa9036d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp3.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp3.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp3.nss new file mode 100644 index 0000000..ceef966 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp3.nss @@ -0,0 +1,8 @@ +int StartingConditional() +{ + int iResult; + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable3"); + + iResult = GetIsObjectValid(oTarget); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp4.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp4.ncs new file mode 100644 index 0000000..c7ca254 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp4.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp4.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp4.nss new file mode 100644 index 0000000..7501beb --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp4.nss @@ -0,0 +1,8 @@ +int StartingConditional() +{ + int iResult; + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable4"); + + iResult = GetIsObjectValid(oTarget); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp5.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp5.ncs new file mode 100644 index 0000000..886768b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp5.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp5.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp5.nss new file mode 100644 index 0000000..5f96026 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp5.nss @@ -0,0 +1,8 @@ +int StartingConditional() +{ + int iResult; + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable5"); + + iResult = GetIsObjectValid(oTarget); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp6.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp6.ncs new file mode 100644 index 0000000..ddc113d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp6.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp6.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp6.nss new file mode 100644 index 0000000..6b15eed --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp6.nss @@ -0,0 +1,8 @@ +int StartingConditional() +{ + int iResult; + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable6"); + + iResult = GetIsObjectValid(oTarget); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp7.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp7.ncs new file mode 100644 index 0000000..f638442 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp7.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp7.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp7.nss new file mode 100644 index 0000000..68e09b9 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp7.nss @@ -0,0 +1,8 @@ +int StartingConditional() +{ + int iResult; + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable7"); + + iResult = GetIsObjectValid(oTarget); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp8.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp8.ncs new file mode 100644 index 0000000..7431f09 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp8.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp8.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp8.nss new file mode 100644 index 0000000..70417d0 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp8.nss @@ -0,0 +1,8 @@ +int StartingConditional() +{ + int iResult; + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable8"); + + iResult = GetIsObjectValid(oTarget); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp9.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp9.ncs new file mode 100644 index 0000000..2b15c5d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp9.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp9.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp9.nss new file mode 100644 index 0000000..2ee31b0 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkp9.nss @@ -0,0 +1,8 @@ +int StartingConditional() +{ + int iResult; + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable9"); + + iResult = GetIsObjectValid(oTarget); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkprev.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkprev.ncs new file mode 100644 index 0000000..1275696 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkprev.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_checkprev.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkprev.nss new file mode 100644 index 0000000..be039e8 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_checkprev.nss @@ -0,0 +1,8 @@ +int StartingConditional() +{ + int iResult; + int iOffset = GetLocalInt(OBJECT_SELF, "DM_PAA_iOffset"); + + iResult = iOffset > 10; + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_cleanup.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_cleanup.ncs new file mode 100644 index 0000000..f7b8d62 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_cleanup.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_cleanup.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_cleanup.nss new file mode 100644 index 0000000..69ae4ae --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_cleanup.nss @@ -0,0 +1,19 @@ +void main() +{ + // Remove variables from user + DeleteLocalObject(OBJECT_SELF, "DM_PAA_oTarget"); + DeleteLocalString(OBJECT_SELF, "DM_PAA_sResRef"); + DeleteLocalLocation(OBJECT_SELF, "DM_PAA_lTarget"); + DeleteLocalInt(OBJECT_SELF, "DM_PAA_iOffset"); + DeleteLocalObject(OBJECT_SELF, "DM_PAA_oMore"); + DeleteLocalInt(OBJECT_SELF, "DM_PAA_iDirection"); + DeleteLocalInt(OBJECT_SELF, "DM_PAA_iConvChoice"); + DeleteLocalString(OBJECT_SELF, "DM_PAA_sConvScript"); + + int iLoop = 0; + while( iLoop < 10) + { + DeleteLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable" + IntToString(iLoop)); + iLoop++; + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_destroy.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_destroy.ncs new file mode 100644 index 0000000..fcbdb3e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_destroy.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_destroy.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_destroy.nss new file mode 100644 index 0000000..ddb98f7 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_destroy.nss @@ -0,0 +1,25 @@ +//------------------------------------------------------------------ +// dm_paa_destroy destroy selected placeable (and contents) +// +// 12/02/2009 Malishara: added +//------------------------------------------------------------------ + + +void DestroyContents(object oObject) +{ object oItem = GetFirstItemInInventory(oObject); + while (GetIsObjectValid(oItem)) + { DestroyObject(oItem); + oItem = GetNextItemInInventory(oObject); + } +} + +void main() +{ + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oTarget"); + + if (GetHasInventory(oTarget)) + { DestroyContents(oTarget); } + + DestroyObject(oTarget); + +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_facing.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_facing.ncs new file mode 100644 index 0000000..fc3af61 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_facing.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_facing.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_facing.nss new file mode 100644 index 0000000..fc4ee30 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_facing.nss @@ -0,0 +1,8 @@ +int StartingConditional() +{ + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oTarget"); + SetCustomToken(11005, FloatToString(GetFacing(oTarget), 3, 0)); + SetLocalString(OBJECT_SELF, "sConvScript", "dm_paa_setfacing"); + + return TRUE; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_include.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_include.nss new file mode 100644 index 0000000..4966b00 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_include.nss @@ -0,0 +1,50 @@ +//------------------------------------------------------------------ +// dm_paa_include include for DM Placeable Attitude Adjuster +// +// 12/02/2009 Malishara: added DestroyContents() +// contents of placeables are now destroyed +// when relocating them +//------------------------------------------------------------------ + +void DestroyContents(object oObject) +{ object oItem = GetFirstItemInInventory(oObject); + while (GetIsObjectValid(oItem)) + { DestroyObject(oItem); + oItem = GetNextItemInInventory(oObject); + } +} + +void RecreateObjectAtLocation(object oTarget, location lTargetLocation) +{ + int iPlot = GetPlotFlag(oTarget); + int iUseable = GetUseableFlag(oTarget); + int iRetagged = GetLocalInt(oTarget, "iRetagged"); + string sNewName = GetName(oTarget); + string sNewTag = GetTag(oTarget); + string sNameTag = GetLocalString(oTarget, "sNameTag"); + string sResRef = GetResRef(oTarget); + string sDesc = GetDescription(oTarget); + int iPlayAnimation = GetLocalInt(oTarget, "iPlayAnimation"); + int iOriginal = GetLocalInt(oTarget, "DM_PAA_iOriginal"); + location lOriginal = GetLocalLocation(oTarget, "DM_PAA_lOriginal"); + + + // Destroy existing placeable, create new placeable, update variables + if (GetHasInventory(oTarget)) + { DestroyContents(oTarget); } + DestroyObject(oTarget); + + oTarget = CreateObject(OBJECT_TYPE_PLACEABLE, sResRef, lTargetLocation, FALSE, sNewTag); + SetPlotFlag(oTarget, iPlot); + SetUseableFlag(oTarget, iUseable); + SetLocalInt(oTarget, "iRetagged", iRetagged); + SetLocalString(oTarget, "sNameTag", sNameTag); + SetName(oTarget, sNewName); + if (GetDescription(oTarget) != sDesc) + { SetDescription(oTarget, sDesc); } + SetLocalObject(OBJECT_SELF, "DM_PAA_oTarget", oTarget); + SetLocalInt(oTarget, "DM_PAA_iOriginal", iOriginal); + SetLocalLocation(oTarget, "DM_PAA_lOriginal", lOriginal); + SetLocalInt(oTarget, "iPlayAnimation", iPlayAnimation); + ExecuteScript("playanimation", oTarget); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_invalid.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_invalid.ncs new file mode 100644 index 0000000..f82a33f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_invalid.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_invalid.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_invalid.nss new file mode 100644 index 0000000..a20e133 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_invalid.nss @@ -0,0 +1,8 @@ +int StartingConditional() +{ + int iResult; + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oTarget"); + + iResult = !GetIsObjectValid(oTarget); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_next.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_next.ncs new file mode 100644 index 0000000..37a4f8b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_next.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_next.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_next.nss new file mode 100644 index 0000000..a0402cf --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_next.nss @@ -0,0 +1,11 @@ +void main() +{ + int iLoop = 0; + + while( iLoop < 10 ) + { + DeleteLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable" + IntToString(iLoop)); + iLoop++; + } + +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_plot.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_plot.ncs new file mode 100644 index 0000000..296bdef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_plot.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_plot.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_plot.nss new file mode 100644 index 0000000..ea09152 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_plot.nss @@ -0,0 +1,5 @@ +void main() +{ + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oTarget"); + SetPlotFlag(oTarget, GetPlotFlag(oTarget) ? FALSE : TRUE); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_portmeto.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_portmeto.ncs new file mode 100644 index 0000000..0cb4f77 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_portmeto.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_portmeto.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_portmeto.nss new file mode 100644 index 0000000..799b0e3 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_portmeto.nss @@ -0,0 +1,5 @@ +void main() +{ + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oTarget"); + JumpToObject(oTarget); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_prev.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_prev.ncs new file mode 100644 index 0000000..a1c590b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_prev.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_prev.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_prev.nss new file mode 100644 index 0000000..29df2ef --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_prev.nss @@ -0,0 +1,12 @@ +void main() +{ + int iOffset = GetLocalInt(OBJECT_SELF, "DM_PAA_iOffset"); + int iNewOffset = 0; + + if( (iOffset % 10) == 0) + { iNewOffset = iOffset - 20; } + else + { iNewOffset = iOffset - (iOffset % 10) - 10; } + + SetLocalInt(OBJECT_SELF, "DM_PAA_iOffset", iNewOffset); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_reset.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_reset.ncs new file mode 100644 index 0000000..a9fc0c1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_reset.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_reset.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_reset.nss new file mode 100644 index 0000000..ae71827 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_reset.nss @@ -0,0 +1,9 @@ +#include "dmts_common_inc" + +void main() +{ + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oTarget"); + location lOriginal = GetLocalLocation(oTarget, "DM_PAA_lOriginal"); + + RecreateObjectAtLocation(oTarget, lOriginal); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_retag.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_retag.ncs new file mode 100644 index 0000000..10cf48c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_retag.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_retag.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_retag.nss new file mode 100644 index 0000000..05e8609 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_retag.nss @@ -0,0 +1,19 @@ +//---------------------------------------------------------------------------- +// dm_paa_retag retag placeable from name +// +// 04/19/2010 Malishara: recoded to use RecreteObjectAtLocation() from +// include +//---------------------------------------------------------------------------- + +#include "dmts_common_inc" + + +void main() +{ object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oTarget"); + location lTargetLocation = GetLocation(oTarget); + string sName = GetName(oTarget); + + oTarget = RecreateObjectAtLocation(oTarget, lTargetLocation, sName); + SetLocalInt(oTarget, "iRetagged", TRUE); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_select.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_select.ncs new file mode 100644 index 0000000..bf84216 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_select.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_select.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_select.nss new file mode 100644 index 0000000..88b7ce3 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_select.nss @@ -0,0 +1,22 @@ +void main() +{ + location lTarget = GetLocalLocation(OBJECT_SELF, "DM_PAA_lTarget"); + int iOffset = GetLocalInt(OBJECT_SELF, "DM_PAA_iOffset"); + int iLoop = 0; + object oTarget = OBJECT_SELF; + + while( (iLoop < 10) & (GetIsObjectValid(oTarget) )) + { + oTarget = GetNearestObjectToLocation(OBJECT_TYPE_PLACEABLE, lTarget, iLoop+iOffset+1); + + if( GetIsObjectValid(oTarget) ) + { SetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable" + IntToString(iLoop), oTarget); + SetCustomToken(11010 + iLoop, GetName(oTarget)); + } + iLoop++; + } + + SetLocalInt(OBJECT_SELF, "DM_PAA_iOffset", iLoop+iOffset); + oTarget = GetNearestObjectToLocation(OBJECT_TYPE_PLACEABLE, lTarget, iLoop+iOffset+1); + SetLocalObject(OBJECT_SELF, "DM_PAA_oMore", oTarget); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_selected.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_selected.ncs new file mode 100644 index 0000000..dbd4516 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_selected.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_selected.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_selected.nss new file mode 100644 index 0000000..6cdc66c --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_selected.nss @@ -0,0 +1,74 @@ +int StartingConditional() +{ + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oTarget"); + location lTarget = GetLocation(oTarget); + vector vPosition = GetPositionFromLocation(lTarget); + float fFacing = GetFacingFromLocation(lTarget); + string sNameTag = GetLocalString(oTarget, "sNameTag"); + string sDirection; + + if (!GetLocalInt(oTarget, "DM_PAA_iOriginal")) + { SetLocalLocation(oTarget, "DM_PAA_lOriginal", GetLocation(oTarget)); + SetLocalInt(oTarget, "DM_PAA_iOriginal", TRUE); + } + + int iDirection = GetLocalInt(OBJECT_SELF, "DM_PAA_iDirection"); + + switch (iDirection) + { case 1: + sDirection = "forward"; break; + case 2: + sDirection = "backward"; break; + case 3: + sDirection = "left"; break; + case 4: + sDirection = "right"; break; + case 5: + sDirection = "up"; break; + case 6: + sDirection = "down"; break; + case 7: + sDirection = "north"; break; + case 8: + sDirection = "south"; break; + case 9: + sDirection = "east"; break; + case 10: + sDirection = "west"; break; + case 11: + sDirection = "northeast"; break; + case 12: + sDirection = "northwest"; break; + case 13: + sDirection = "southeast"; break; + case 14: + sDirection = "southwest"; break; + default: + iDirection = 1; + SetLocalInt(OBJECT_SELF, "DM_PAA_iDirection", iDirection); + sDirection = "forward"; + break; + } + + SetCustomToken(11000, GetName(oTarget)); + SetCustomToken(11001, GetPlotFlag(oTarget) ? "ON" : "OFF"); + SetCustomToken(11002, FloatToString(vPosition.x, 4, 2)); + SetCustomToken(11003, FloatToString(vPosition.y, 4, 2)); + SetCustomToken(11004, FloatToString(vPosition.z, 4, 2)); + SetCustomToken(11005, FloatToString(fFacing, 3, 0)); + + if(sNameTag == "") + { SetCustomToken(11008, ""); } + else + { SetCustomToken(11008, "Placed by: " + sNameTag); } + + SetCustomToken(11009, GetUseableFlag(oTarget) ? "ON" : "OFF"); + SetCustomToken(11010, GetTag(oTarget)); + + SetCustomToken(11011, sDirection); + + SetLocalString(OBJECT_SELF, "DM_PAA_sResRef", GetResRef(oTarget)); + SetLocalString(OBJECT_SELF, "sConvScript", "dm_paa_adjust"); + + return TRUE; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setfacing.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_setfacing.ncs new file mode 100644 index 0000000..cf3dd23 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_setfacing.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setfacing.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_setfacing.nss new file mode 100644 index 0000000..0466cd4 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_setfacing.nss @@ -0,0 +1,54 @@ +void main() +{ + int iConvChoice = GetLocalInt(OBJECT_SELF, "iConvChoice"); + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oTarget"); + float fFacing = StringToFloat(FloatToString(GetFacing(oTarget), 3, 0)); + + + switch (iConvChoice) + { case 1: + AssignCommand(oTarget, SetFacing(DIRECTION_SOUTH)); + AssignCommand(oTarget, SetFacing(DIRECTION_NORTH)); + break; + case 2: + AssignCommand(oTarget, SetFacing(fFacing - 1.0f + 180.0f)); + AssignCommand(oTarget, SetFacing(fFacing - 1.0f)); + break; + case 3: + AssignCommand(oTarget, SetFacing(fFacing - 5.0f + 180.0f)); + AssignCommand(oTarget, SetFacing(fFacing - 5.0f)); + break; + case 4: + AssignCommand(oTarget, SetFacing(fFacing - 20.0f)); + break; + case 5: + AssignCommand(oTarget, SetFacing(fFacing - 60.0f)); + break; + case 6: + AssignCommand(oTarget, SetFacing(fFacing - 90.0f)); + break; + case 7: + AssignCommand(oTarget, SetFacing(fFacing + 180.0f)); + break; + case 8: + AssignCommand(oTarget, SetFacing(fFacing + 90.0f)); + break; + case 9: + AssignCommand(oTarget, SetFacing(fFacing + 60.0f)); + break; + case 10: + AssignCommand(oTarget, SetFacing(fFacing + 20.0f)); + break; + case 11: + AssignCommand(oTarget, SetFacing(fFacing + 5.0f + 180.0f)); + AssignCommand(oTarget, SetFacing(fFacing + 5.0f)); + break; + case 12: + AssignCommand(oTarget, SetFacing(fFacing + 1.0f + 180.0f)); + AssignCommand(oTarget, SetFacing(fFacing + 1.0f)); + break; + default: + SendMessageToPC(OBJECT_SELF, "ERROR: Invalid distance."); + } +} + diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp0.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp0.ncs new file mode 100644 index 0000000..373fc8b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp0.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp0.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp0.nss new file mode 100644 index 0000000..ca2f931 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp0.nss @@ -0,0 +1,6 @@ +void main() +{ + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable0"); + SetLocalObject(OBJECT_SELF, "DM_PAA_oTarget", oTarget); + SetLocalLocation(OBJECT_SELF, "DM_PAA_lOriginal", GetLocation(oTarget)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp1.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp1.ncs new file mode 100644 index 0000000..fe7aac0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp1.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp1.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp1.nss new file mode 100644 index 0000000..84b0a66 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp1.nss @@ -0,0 +1,6 @@ +void main() +{ + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable1"); + SetLocalObject(OBJECT_SELF, "DM_PAA_oTarget", oTarget); + SetLocalLocation(OBJECT_SELF, "DM_PAA_lOriginal", GetLocation(oTarget)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp2.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp2.ncs new file mode 100644 index 0000000..c0b3dfd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp2.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp2.nss new file mode 100644 index 0000000..03a0a7d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp2.nss @@ -0,0 +1,6 @@ +void main() +{ + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable2"); + SetLocalObject(OBJECT_SELF, "DM_PAA_oTarget", oTarget); + SetLocalLocation(OBJECT_SELF, "DM_PAA_lOriginal", GetLocation(oTarget)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp3.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp3.ncs new file mode 100644 index 0000000..772120a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp3.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp3.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp3.nss new file mode 100644 index 0000000..497e6b1 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp3.nss @@ -0,0 +1,6 @@ +void main() +{ + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable3"); + SetLocalObject(OBJECT_SELF, "DM_PAA_oTarget", oTarget); + SetLocalLocation(OBJECT_SELF, "DM_PAA_lOriginal", GetLocation(oTarget)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp4.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp4.ncs new file mode 100644 index 0000000..e8cee16 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp4.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp4.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp4.nss new file mode 100644 index 0000000..2c47a2a --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp4.nss @@ -0,0 +1,6 @@ +void main() +{ + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable4"); + SetLocalObject(OBJECT_SELF, "DM_PAA_oTarget", oTarget); + SetLocalLocation(OBJECT_SELF, "DM_PAA_lOriginal", GetLocation(oTarget)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp5.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp5.ncs new file mode 100644 index 0000000..10515d4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp5.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp5.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp5.nss new file mode 100644 index 0000000..69936e4 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp5.nss @@ -0,0 +1,6 @@ +void main() +{ + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable5"); + SetLocalObject(OBJECT_SELF, "DM_PAA_oTarget", oTarget); + SetLocalLocation(OBJECT_SELF, "DM_PAA_lOriginal", GetLocation(oTarget)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp6.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp6.ncs new file mode 100644 index 0000000..70fae96 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp6.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp6.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp6.nss new file mode 100644 index 0000000..714b863 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp6.nss @@ -0,0 +1,6 @@ +void main() +{ + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable6"); + SetLocalObject(OBJECT_SELF, "DM_PAA_oTarget", oTarget); + SetLocalLocation(OBJECT_SELF, "DM_PAA_lOriginal", GetLocation(oTarget)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp7.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp7.ncs new file mode 100644 index 0000000..695cc0f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp7.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp7.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp7.nss new file mode 100644 index 0000000..a8fc078 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp7.nss @@ -0,0 +1,6 @@ +void main() +{ + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable7"); + SetLocalObject(OBJECT_SELF, "DM_PAA_oTarget", oTarget); + SetLocalLocation(OBJECT_SELF, "DM_PAA_lOriginal", GetLocation(oTarget)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp8.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp8.ncs new file mode 100644 index 0000000..47d8d45 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp8.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp8.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp8.nss new file mode 100644 index 0000000..dfde893 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp8.nss @@ -0,0 +1,6 @@ +void main() +{ + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable8"); + SetLocalObject(OBJECT_SELF, "DM_PAA_oTarget", oTarget); + SetLocalLocation(OBJECT_SELF, "DM_PAA_lOriginal", GetLocation(oTarget)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp9.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp9.ncs new file mode 100644 index 0000000..0e5f810 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp9.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_setp9.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp9.nss new file mode 100644 index 0000000..521e52b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_setp9.nss @@ -0,0 +1,6 @@ +void main() +{ + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oPlaceable9"); + SetLocalObject(OBJECT_SELF, "DM_PAA_oTarget", oTarget); + SetLocalLocation(OBJECT_SELF, "DM_PAA_lOriginal", GetLocation(oTarget)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_showdirs.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_showdirs.ncs new file mode 100644 index 0000000..6efc4b3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_showdirs.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_showdirs.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_showdirs.nss new file mode 100644 index 0000000..0b444bf --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_showdirs.nss @@ -0,0 +1,5 @@ +int StartingConditional() +{ SetLocalString(OBJECT_SELF, "sConvScript", "dm_paa_changedir"); + + return TRUE; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_teleport.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_teleport.ncs new file mode 100644 index 0000000..8a92156 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_teleport.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_teleport.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_teleport.nss new file mode 100644 index 0000000..281d555 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_teleport.nss @@ -0,0 +1,21 @@ +#include "dmts_common_inc" + +void main() +{ + // Retrieve variables from user, set up working variables + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oTarget"); + + location lTargetLocation = GetLocation(oTarget); + vector vPosition = GetPositionFromLocation(lTargetLocation); + + location lMyLocation = GetLocation(OBJECT_SELF); + object oMyArea = GetAreaFromLocation(lMyLocation); + float fMyFacing = GetFacing(OBJECT_SELF); + vector vMyPosition = GetPositionFromLocation(lMyLocation); + + vector vNewPosition = Vector(vMyPosition.x, vMyPosition.y, vPosition.z); + + lTargetLocation = Location(oMyArea, vNewPosition, fMyFacing); + + RecreateObjectAtLocation(oTarget, lTargetLocation); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_teleport1.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_teleport1.ncs new file mode 100644 index 0000000..cce51df Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_teleport1.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_teleport1.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_teleport1.nss new file mode 100644 index 0000000..e77eaf4 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_teleport1.nss @@ -0,0 +1,20 @@ +#include "dmts_common_inc" + +void main() +{ + // Retrieve variables from user, set up working variables + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oTarget"); + location lTargetLocation = GetLocation(oTarget); + vector vPosition = GetPositionFromLocation(lTargetLocation); + + location lMyLocation = GetLocation(OBJECT_SELF); + object oMyArea = GetAreaFromLocation(lMyLocation); + float fMyFacing = GetFacing(OBJECT_SELF); + vector vMyPosition = GetPositionFromLocation(lMyLocation); + + vector vNewPosition = Vector(vMyPosition.x, vMyPosition.y, vPosition.z); + + lTargetLocation = Location(oMyArea, vNewPosition, fMyFacing + 180.0f); + + RecreateObjectAtLocation(oTarget, lTargetLocation); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_useable.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_useable.ncs new file mode 100644 index 0000000..d246d1d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_useable.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_useable.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_useable.nss new file mode 100644 index 0000000..44c198a --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_useable.nss @@ -0,0 +1,5 @@ +void main() +{ + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oTarget"); + SetUseableFlag(oTarget, GetUseableFlag(oTarget) ? FALSE : TRUE); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_zapoffset.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_zapoffset.ncs new file mode 100644 index 0000000..f49fde3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_zapoffset.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_zapoffset.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_zapoffset.nss new file mode 100644 index 0000000..7df59ec --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_zapoffset.nss @@ -0,0 +1,4 @@ +void main() +{ + SetLocalInt(OBJECT_SELF, "DM_PAA_iOffset", 0); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_zenith1.ncs b/cep_blueprints/_hak/prc_add_sb/dm_paa_zenith1.ncs new file mode 100644 index 0000000..1cfe394 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_paa_zenith1.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_paa_zenith1.nss b/cep_blueprints/_hak/prc_add_sb/dm_paa_zenith1.nss new file mode 100644 index 0000000..8502657 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_paa_zenith1.nss @@ -0,0 +1,20 @@ +// code to reset zenith of placeable to 1.0f + +#include "dmts_common_inc" + +void main() +{ + // Retrieve variables from user, set up working variables + object oTarget = GetLocalObject(OBJECT_SELF, "DM_PAA_oTarget"); + location lTargetLocation = GetLocation(oTarget); + object oArea = GetAreaFromLocation(lTargetLocation); + float fFacing = GetFacingFromLocation(lTargetLocation); + vector vPosition = GetPositionFromLocation(lTargetLocation); + + // Adjust zenith + vPosition = Vector(vPosition.x, vPosition.y, 1.0f); + lTargetLocation = Location(oArea, vPosition, fFacing); + + RecreateObjectAtLocation(oTarget, lTargetLocation); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add0.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_add0.ncs new file mode 100644 index 0000000..f559ed5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_add0.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add0.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_add0.nss new file mode 100644 index 0000000..e9eff2d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_add0.nss @@ -0,0 +1,20 @@ +void main() +{ + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable0"); + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iPropIndex = GetLocalInt(oWidget, "iPropIndex"); + int iCharsUsed = GetLocalInt(oWidget, "iCharsUsed"); + int iEntryLen = 35 + GetStringLength(GetResRef(oPlaceable)); + + if( GetName(oPlaceable, TRUE) != GetName(oPlaceable)) + { iEntryLen += GetStringLength(GetName(oPlaceable)); } + if( GetLocalInt(oPlaceable, "iRetagged") == TRUE) + { iEntryLen += GetStringLength(GetTag(oPlaceable)); } + + SetLocalInt(oWidget, "iCharsUsed", (iEntryLen + iCharsUsed)); + + iPropIndex++; + SetLocalObject(oWidget, "oProp" + IntToString(iPropIndex), oPlaceable); + SetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable), iPropIndex); + SetLocalInt(oWidget, "iPropIndex", iPropIndex); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add1.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_add1.ncs new file mode 100644 index 0000000..536c854 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_add1.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add1.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_add1.nss new file mode 100644 index 0000000..c59844b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_add1.nss @@ -0,0 +1,20 @@ +void main() +{ + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable1"); + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iPropIndex = GetLocalInt(oWidget, "iPropIndex"); + int iCharsUsed = GetLocalInt(oWidget, "iCharsUsed"); + int iEntryLen = 35 + GetStringLength(GetResRef(oPlaceable)); + + if( GetName(oPlaceable, TRUE) != GetName(oPlaceable)) + { iEntryLen += GetStringLength(GetName(oPlaceable)); } + if( GetLocalInt(oPlaceable, "iRetagged") == TRUE) + { iEntryLen += GetStringLength(GetTag(oPlaceable)); } + + SetLocalInt(oWidget, "iCharsUsed", (iEntryLen + iCharsUsed)); + + iPropIndex++; + SetLocalObject(oWidget, "oProp" + IntToString(iPropIndex), oPlaceable); + SetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable), iPropIndex); + SetLocalInt(oWidget, "iPropIndex", iPropIndex); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add2.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_add2.ncs new file mode 100644 index 0000000..3efccc3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_add2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add2.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_add2.nss new file mode 100644 index 0000000..5e56671 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_add2.nss @@ -0,0 +1,20 @@ +void main() +{ + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable2"); + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iPropIndex = GetLocalInt(oWidget, "iPropIndex"); + int iCharsUsed = GetLocalInt(oWidget, "iCharsUsed"); + int iEntryLen = 35 + GetStringLength(GetResRef(oPlaceable)); + + if( GetName(oPlaceable, TRUE) != GetName(oPlaceable)) + { iEntryLen += GetStringLength(GetName(oPlaceable)); } + if( GetLocalInt(oPlaceable, "iRetagged") == TRUE) + { iEntryLen += GetStringLength(GetTag(oPlaceable)); } + + SetLocalInt(oWidget, "iCharsUsed", (iEntryLen + iCharsUsed)); + + iPropIndex++; + SetLocalObject(oWidget, "oProp" + IntToString(iPropIndex), oPlaceable); + SetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable), iPropIndex); + SetLocalInt(oWidget, "iPropIndex", iPropIndex); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add3.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_add3.ncs new file mode 100644 index 0000000..808ae6b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_add3.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add3.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_add3.nss new file mode 100644 index 0000000..6a213ab --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_add3.nss @@ -0,0 +1,20 @@ +void main() +{ + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable3"); + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iPropIndex = GetLocalInt(oWidget, "iPropIndex"); + int iCharsUsed = GetLocalInt(oWidget, "iCharsUsed"); + int iEntryLen = 35 + GetStringLength(GetResRef(oPlaceable)); + + if( GetName(oPlaceable, TRUE) != GetName(oPlaceable)) + { iEntryLen += GetStringLength(GetName(oPlaceable)); } + if( GetLocalInt(oPlaceable, "iRetagged") == TRUE) + { iEntryLen += GetStringLength(GetTag(oPlaceable)); } + + SetLocalInt(oWidget, "iCharsUsed", (iEntryLen + iCharsUsed)); + + iPropIndex++; + SetLocalObject(oWidget, "oProp" + IntToString(iPropIndex), oPlaceable); + SetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable), iPropIndex); + SetLocalInt(oWidget, "iPropIndex", iPropIndex); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add4.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_add4.ncs new file mode 100644 index 0000000..35f824c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_add4.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add4.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_add4.nss new file mode 100644 index 0000000..dd4d607 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_add4.nss @@ -0,0 +1,20 @@ +void main() +{ + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable4"); + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iPropIndex = GetLocalInt(oWidget, "iPropIndex"); + int iCharsUsed = GetLocalInt(oWidget, "iCharsUsed"); + int iEntryLen = 35 + GetStringLength(GetResRef(oPlaceable)); + + if( GetName(oPlaceable, TRUE) != GetName(oPlaceable)) + { iEntryLen += GetStringLength(GetName(oPlaceable)); } + if( GetLocalInt(oPlaceable, "iRetagged") == TRUE) + { iEntryLen += GetStringLength(GetTag(oPlaceable)); } + + SetLocalInt(oWidget, "iCharsUsed", (iEntryLen + iCharsUsed)); + + iPropIndex++; + SetLocalObject(oWidget, "oProp" + IntToString(iPropIndex), oPlaceable); + SetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable), iPropIndex); + SetLocalInt(oWidget, "iPropIndex", iPropIndex); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add5.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_add5.ncs new file mode 100644 index 0000000..863e342 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_add5.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add5.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_add5.nss new file mode 100644 index 0000000..05ca709 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_add5.nss @@ -0,0 +1,20 @@ +void main() +{ + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable5"); + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iPropIndex = GetLocalInt(oWidget, "iPropIndex"); + int iCharsUsed = GetLocalInt(oWidget, "iCharsUsed"); + int iEntryLen = 35 + GetStringLength(GetResRef(oPlaceable)); + + if( GetName(oPlaceable, TRUE) != GetName(oPlaceable)) + { iEntryLen += GetStringLength(GetName(oPlaceable)); } + if( GetLocalInt(oPlaceable, "iRetagged") == TRUE) + { iEntryLen += GetStringLength(GetTag(oPlaceable)); } + + SetLocalInt(oWidget, "iCharsUsed", (iEntryLen + iCharsUsed)); + + iPropIndex++; + SetLocalObject(oWidget, "oProp" + IntToString(iPropIndex), oPlaceable); + SetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable), iPropIndex); + SetLocalInt(oWidget, "iPropIndex", iPropIndex); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add6.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_add6.ncs new file mode 100644 index 0000000..743c840 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_add6.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add6.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_add6.nss new file mode 100644 index 0000000..0aebad8 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_add6.nss @@ -0,0 +1,20 @@ +void main() +{ + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable6"); + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iPropIndex = GetLocalInt(oWidget, "iPropIndex"); + int iCharsUsed = GetLocalInt(oWidget, "iCharsUsed"); + int iEntryLen = 35 + GetStringLength(GetResRef(oPlaceable)); + + if( GetName(oPlaceable, TRUE) != GetName(oPlaceable)) + { iEntryLen += GetStringLength(GetName(oPlaceable)); } + if( GetLocalInt(oPlaceable, "iRetagged") == TRUE) + { iEntryLen += GetStringLength(GetTag(oPlaceable)); } + + SetLocalInt(oWidget, "iCharsUsed", (iEntryLen + iCharsUsed)); + + iPropIndex++; + SetLocalObject(oWidget, "oProp" + IntToString(iPropIndex), oPlaceable); + SetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable), iPropIndex); + SetLocalInt(oWidget, "iPropIndex", iPropIndex); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add7.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_add7.ncs new file mode 100644 index 0000000..a59dd4b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_add7.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add7.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_add7.nss new file mode 100644 index 0000000..f763cdb --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_add7.nss @@ -0,0 +1,20 @@ +void main() +{ + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable7"); + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iPropIndex = GetLocalInt(oWidget, "iPropIndex"); + int iCharsUsed = GetLocalInt(oWidget, "iCharsUsed"); + int iEntryLen = 35 + GetStringLength(GetResRef(oPlaceable)); + + if( GetName(oPlaceable, TRUE) != GetName(oPlaceable)) + { iEntryLen += GetStringLength(GetName(oPlaceable)); } + if( GetLocalInt(oPlaceable, "iRetagged") == TRUE) + { iEntryLen += GetStringLength(GetTag(oPlaceable)); } + + SetLocalInt(oWidget, "iCharsUsed", (iEntryLen + iCharsUsed)); + + iPropIndex++; + SetLocalObject(oWidget, "oProp" + IntToString(iPropIndex), oPlaceable); + SetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable), iPropIndex); + SetLocalInt(oWidget, "iPropIndex", iPropIndex); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add8.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_add8.ncs new file mode 100644 index 0000000..53b3921 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_add8.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add8.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_add8.nss new file mode 100644 index 0000000..a49ad13 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_add8.nss @@ -0,0 +1,20 @@ +void main() +{ + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable8"); + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iPropIndex = GetLocalInt(oWidget, "iPropIndex"); + int iCharsUsed = GetLocalInt(oWidget, "iCharsUsed"); + int iEntryLen = 35 + GetStringLength(GetResRef(oPlaceable)); + + if( GetName(oPlaceable, TRUE) != GetName(oPlaceable)) + { iEntryLen += GetStringLength(GetName(oPlaceable)); } + if( GetLocalInt(oPlaceable, "iRetagged") == TRUE) + { iEntryLen += GetStringLength(GetTag(oPlaceable)); } + + SetLocalInt(oWidget, "iCharsUsed", (iEntryLen + iCharsUsed)); + + iPropIndex++; + SetLocalObject(oWidget, "oProp" + IntToString(iPropIndex), oPlaceable); + SetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable), iPropIndex); + SetLocalInt(oWidget, "iPropIndex", iPropIndex); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add9.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_add9.ncs new file mode 100644 index 0000000..7dcc9ef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_add9.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_add9.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_add9.nss new file mode 100644 index 0000000..30cc0e6 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_add9.nss @@ -0,0 +1,20 @@ +void main() +{ + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable9"); + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iPropIndex = GetLocalInt(oWidget, "iPropIndex"); + int iCharsUsed = GetLocalInt(oWidget, "iCharsUsed"); + int iEntryLen = 35 + GetStringLength(GetResRef(oPlaceable)); + + if( GetName(oPlaceable, TRUE) != GetName(oPlaceable)) + { iEntryLen += GetStringLength(GetName(oPlaceable)); } + if( GetLocalInt(oPlaceable, "iRetagged") == TRUE) + { iEntryLen += GetStringLength(GetTag(oPlaceable)); } + + SetLocalInt(oWidget, "iCharsUsed", (iEntryLen + iCharsUsed)); + + iPropIndex++; + SetLocalObject(oWidget, "oProp" + IntToString(iPropIndex), oPlaceable); + SetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable), iPropIndex); + SetLocalInt(oWidget, "iPropIndex", iPropIndex); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_append.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_append.ncs new file mode 100644 index 0000000..861dc23 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_append.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_append.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_append.nss new file mode 100644 index 0000000..d3c1557 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_append.nss @@ -0,0 +1,92 @@ +#include "mali_string_fns" +#include "dm_sm_inc" +#include "x0_i0_position" + + +void main() +{ object oPC = OBJECT_SELF; + object oWidget = GetLocalObject(oPC, "DM_SM_oWidget"); + + int iChoice = GetLocalInt(oPC, "iConvChoice"); + object oProp = GetLocalObject(oPC, "DM_SM_oPlaceable" + IntToString(iChoice - 1)); + + if (!GetIsObjectValid(oProp)) + { SendMessageToPC(oPC, "ERROR: Prop has been destroyed!"); return; } + + string sDesc = Upgrade(GetDescription(oWidget, FALSE, FALSE)); + + sDesc = RestWords(sDesc, "|"); + int iCount = StringToInt(FirstWord(sDesc, "|")); + iCount++; + sDesc = RestWords(sDesc, "|"); + string sNewDesc = "V5|" + IntToString(iCount) + "|" + sDesc + "|"; + + location lZero = GetLocalLocation(oWidget, "lZero"); + int iType = GetLocalInt(oWidget, "iDM_SM_SpawnType"); + + vector vProp = GetPosition(oProp); + float fFacing = GetFacing(oProp); + + if (iType != 1) + { vector vZero = GetPositionFromLocation(lZero); + float fZeroFacing = GetFacingFromLocation(lZero); + + float fAbsZeroX = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + float fAbsZeroY = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + float fAbsZeroZ = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + float fAbsZeroFacing = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + + vector vAbsZero = Vector(fAbsZeroX, fAbsZeroY, fAbsZeroZ); + + if (iType == 2) + { vector vRelative = Vector(vProp.x - vZero.x, vProp.y - vZero.y, vProp.z - vZero.z); + vProp = Vector(vAbsZero.x + vRelative.x, vAbsZero.y + vRelative.y, vAbsZero.z + vRelative.z); + } + else if (iType == 3) + { float fRelativeZ = vProp.z + vAbsZero.z - vZero.z; + + location lTemp = Location(GetArea(oPC), Vector(vProp.x, vProp.y, vZero.z), fFacing); + float fDistance = GetDistanceBetweenLocations(lTemp, lZero); + float fTheta = GetTheta(vZero, vProp); + vProp = GetChangedPosition(vAbsZero, fDistance, fTheta + fAbsZeroFacing - fZeroFacing); + + fFacing = fFacing + fAbsZeroFacing - fZeroFacing; + if (fFacing < 0.0f) + { fFacing = fFacing + 360.0f; } + + vProp = Vector(vProp.x, vProp.y, fRelativeZ); + } + } + + sNewDesc += GetResRef(oProp) + "|"; + if( GetName(oProp, TRUE) != GetName(oProp, FALSE)) + { sNewDesc += SearchAndReplace(GetName(oProp, FALSE), "|", ":"); } + sNewDesc += "|"; + if( GetLocalInt(oProp, "iRetagged") == TRUE) + { sNewDesc += GetTag(oProp); } + sNewDesc += "|" + IntToString(GetPlotFlag(oProp) + (GetUseableFlag(oProp) * 2) + (GetLocalInt(oProp, "iRetagged") * 4)) + "|"; + sNewDesc += FloatToString(vProp.x, 0, 2) + "|"; + sNewDesc += FloatToString(vProp.y, 0, 2) + "|" + FloatToString(vProp.z, 0, 2) + "|"; + sNewDesc += FloatToString(fFacing, 0, 2) + "|"; + sNewDesc += SaveVariables(oProp, FALSE); + + SetDescription(oWidget, sNewDesc, FALSE); + + string sPropList = GetLocalString(oWidget, "sPropList"); + sPropList += "." + ObjectToString(oProp) + "."; + SetLocalString(oWidget, "sPropList", sPropList); + + iCount = GetLocalInt(oWidget, "iPropsSpawned_Set0"); + SetLocalObject(oWidget, "oSet0Prop"+IntToString(iCount), oProp); + SetLocalInt(oWidget, "iPropsSpawned_Set0", iCount + 1); + + string sPropID_VarName = "oSet0Prop" + IntToString(iCount); + SetLocalObject(oWidget, sPropID_VarName, oProp); + SetLocalObject(oProp, "oStageManager", oWidget); + SetLocalString(oProp, "sPropID_VarName", sPropID_VarName); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_boxmenu.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_boxmenu.ncs new file mode 100644 index 0000000..74be0e0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_boxmenu.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_boxmenu.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_boxmenu.nss new file mode 100644 index 0000000..7cb7a7d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_boxmenu.nss @@ -0,0 +1,5 @@ +int StartingConditional() +{ + SetLocalString(OBJECT_SELF, "sConvScript", "dm_sm_boxset"); + return TRUE; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_boxset.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_boxset.ncs new file mode 100644 index 0000000..db29eab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_boxset.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_boxset.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_boxset.nss new file mode 100644 index 0000000..65ad9fa --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_boxset.nss @@ -0,0 +1,64 @@ +//---------------------------------------------------------------------------- +// dm_sm_boxset +// +// 12/17/2009 Malishara: updated to use includes +// V5 - added support for saving/restoring variables +//---------------------------------------------------------------------------- + +#include "dmts_common_inc" + + +void main() +{ + string sDesc = ""; + location lMyLocation = GetLocation(OBJECT_SELF); + vector vMyPos = GetPositionFromLocation(lMyLocation); + float fMyFacing = GetFacing(OBJECT_SELF); + + sDesc = FloatToString(vMyPos.x, 0, 2) + "|" + FloatToString(vMyPos.y, 0, 2) + "|"; + sDesc += FloatToString(vMyPos.z, 0, 2) + "|" + FloatToString(fMyFacing, 0, 2); + + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iConvChoice = GetLocalInt(OBJECT_SELF, "iConvChoice"); + int iPropIndex = GetLocalInt(oWidget, "iPropIndex"); + object oProp = OBJECT_SELF; + location lProp = lMyLocation; + int iRetagged = FALSE; + vector vPos = vMyPos; + float fFacing = fMyFacing; + int iLoop = 0; + int iCounter = 0; + + while( iLoop < iPropIndex) + { oProp = GetLocalObject(oWidget, "oProp" + IntToString(iLoop+1)); + if( GetIsObjectValid(oProp)) + { lProp = GetLocation(oProp); + vPos = GetPositionFromLocation(lProp); + fFacing = GetFacing(oProp); + sDesc += "|" + GetResRef(oProp) + "|"; + if( GetName(oProp, TRUE) != GetName(oProp, FALSE)) + { sDesc += SearchAndReplace(GetName(oProp, FALSE), "|", ""); } + sDesc += "|"; + if( GetLocalInt(oProp, "iRetagged") == TRUE) + { sDesc += GetTag(oProp); } + sDesc += "|" + IntToString(GetPlotFlag(oProp) + (GetUseableFlag(oProp) * 2) + (GetLocalInt(oProp, "iRetagged") * 4)) + "|"; + sDesc += FloatToString(vPos.x, 0, 2) + "|"; + sDesc += FloatToString(vPos.y, 0, 2) + "|" + FloatToString(vPos.z, 0, 2) + "|"; + sDesc += FloatToString(fFacing, 0, 2) + "|"; + sDesc += SaveVariables(oProp, FALSE); + + iCounter++; + + if (iConvChoice == 1) + { if (GetHasInventory(oProp)) + { DestroyContents(oProp); } + DestroyObject(oProp); + } + + } + iLoop++; + } + + sDesc = "V5|" + IntToString(iCounter) + "|" + sDesc; + SetDescription(oWidget, sDesc, FALSE); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_canadd.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_canadd.ncs new file mode 100644 index 0000000..f2000d0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_canadd.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_canadd.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_canadd.nss new file mode 100644 index 0000000..f480c12 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_canadd.nss @@ -0,0 +1,10 @@ +#include "mali_string_fns" + + +int StartingConditional() +{ + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iSets = GetLocalInt(oWidget, "iCurrentSets"); + + return (iSets == 1); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_capacity.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_capacity.ncs new file mode 100644 index 0000000..d6f4b6a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_capacity.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_capacity.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_capacity.nss new file mode 100644 index 0000000..364e5d3 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_capacity.nss @@ -0,0 +1,17 @@ +int StartingConditional() +{ + int iResult; + + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iCharsUsed = GetLocalInt(oWidget, "iCharsUsed"); + int iRemaining = (8157 - iCharsUsed) / 50; + + string sCapacity = "Approximately " + IntToString(iCharsUsed) + " of 8192 characters used.\n"; + sCapacity += "Approximately " + IntToString(iRemaining) + " more props may be stored.\n" + + "If a prop has been renamed, retagged, or has variables preserved, the remaining capacity will be less than reported."; + + SetCustomToken(11035, sCapacity); + + iResult = TRUE; + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_capacitya.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_capacitya.ncs new file mode 100644 index 0000000..0559f22 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_capacitya.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_capacitya.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_capacitya.nss new file mode 100644 index 0000000..6d6bbee --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_capacitya.nss @@ -0,0 +1,14 @@ +int StartingConditional() +{ object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iCharsUsed = GetStringLength(GetDescription(oWidget, FALSE, FALSE)); + int iRemaining = (8192 - iCharsUsed) / 50; + + string sCapacity = IntToString(iCharsUsed) + " of 8192 characters used."; + sCapacity += "Approximately " + IntToString(iRemaining) + " more props may be stored.\n" + + "If a prop has been renamed, retagged, or has variables preserved, the remaining capacity will be less than reported."; + + SetCustomToken(11035, sCapacity); + SetLocalString(OBJECT_SELF, "sConvScript", "dm_sm_append"); + + return TRUE; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check0.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check0.ncs new file mode 100644 index 0000000..e0cb3cc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check0.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check0.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check0.nss new file mode 100644 index 0000000..c6eee0f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check0.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable0"); + int iHaveThisProp = GetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable)); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check0a.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check0a.ncs new file mode 100644 index 0000000..6a88689 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check0a.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check0a.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check0a.nss new file mode 100644 index 0000000..af516ee --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check0a.nss @@ -0,0 +1,12 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable0"); + + string sPropList = GetLocalString(oWidget, "sPropList"); + int iHaveThisProp = TestStringAgainstPattern("**." + ObjectToString(oPlaceable) + ".**", sPropList); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check1.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check1.ncs new file mode 100644 index 0000000..b42c517 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check1.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check1.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check1.nss new file mode 100644 index 0000000..dacd3af --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check1.nss @@ -0,0 +1,11 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable1"); + + int iHaveThisProp = GetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable)); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check1a.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check1a.ncs new file mode 100644 index 0000000..817c2c8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check1a.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check1a.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check1a.nss new file mode 100644 index 0000000..ee264e8 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check1a.nss @@ -0,0 +1,12 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable1"); + + string sPropList = GetLocalString(oWidget, "sPropList"); + int iHaveThisProp = TestStringAgainstPattern("**." + ObjectToString(oPlaceable) + ".**", sPropList); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check2.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check2.ncs new file mode 100644 index 0000000..769f661 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check2.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check2.nss new file mode 100644 index 0000000..490bb63 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check2.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable2"); + int iHaveThisProp = GetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable)); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check2a.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check2a.ncs new file mode 100644 index 0000000..d5b6ef8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check2a.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check2a.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check2a.nss new file mode 100644 index 0000000..72201c0 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check2a.nss @@ -0,0 +1,12 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable2"); + + string sPropList = GetLocalString(oWidget, "sPropList"); + int iHaveThisProp = TestStringAgainstPattern("**." + ObjectToString(oPlaceable) + ".**", sPropList); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check3.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check3.ncs new file mode 100644 index 0000000..79d5557 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check3.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check3.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check3.nss new file mode 100644 index 0000000..0a85b50 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check3.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable3"); + int iHaveThisProp = GetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable)); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check3a.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check3a.ncs new file mode 100644 index 0000000..285f934 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check3a.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check3a.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check3a.nss new file mode 100644 index 0000000..6fd28fd --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check3a.nss @@ -0,0 +1,12 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable3"); + + string sPropList = GetLocalString(oWidget, "sPropList"); + int iHaveThisProp = TestStringAgainstPattern("**." + ObjectToString(oPlaceable) + ".**", sPropList); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check4.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check4.ncs new file mode 100644 index 0000000..8237a8d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check4.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check4.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check4.nss new file mode 100644 index 0000000..fc21bee --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check4.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable4"); + int iHaveThisProp = GetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable)); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check4a.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check4a.ncs new file mode 100644 index 0000000..f74ee45 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check4a.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check4a.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check4a.nss new file mode 100644 index 0000000..2cc5cf2 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check4a.nss @@ -0,0 +1,12 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable4"); + + string sPropList = GetLocalString(oWidget, "sPropList"); + int iHaveThisProp = TestStringAgainstPattern("**." + ObjectToString(oPlaceable) + ".**", sPropList); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check5.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check5.ncs new file mode 100644 index 0000000..f4ac8ee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check5.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check5.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check5.nss new file mode 100644 index 0000000..670705b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check5.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable5"); + int iHaveThisProp = GetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable)); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check5a.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check5a.ncs new file mode 100644 index 0000000..e0e7fdc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check5a.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check5a.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check5a.nss new file mode 100644 index 0000000..736bc9d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check5a.nss @@ -0,0 +1,12 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable5"); + + string sPropList = GetLocalString(oWidget, "sPropList"); + int iHaveThisProp = TestStringAgainstPattern("**." + ObjectToString(oPlaceable) + ".**", sPropList); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check6.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check6.ncs new file mode 100644 index 0000000..2f1d4f2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check6.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check6.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check6.nss new file mode 100644 index 0000000..8991393 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check6.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable6"); + int iHaveThisProp = GetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable)); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check6a.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check6a.ncs new file mode 100644 index 0000000..31c9a72 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check6a.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check6a.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check6a.nss new file mode 100644 index 0000000..b64763c --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check6a.nss @@ -0,0 +1,12 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable6"); + + string sPropList = GetLocalString(oWidget, "sPropList"); + int iHaveThisProp = TestStringAgainstPattern("**." + ObjectToString(oPlaceable) + ".**", sPropList); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check7.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check7.ncs new file mode 100644 index 0000000..f60df5a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check7.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check7.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check7.nss new file mode 100644 index 0000000..cec4c9a --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check7.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable7"); + int iHaveThisProp = GetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable)); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check7a.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check7a.ncs new file mode 100644 index 0000000..0ade9b6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check7a.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check7a.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check7a.nss new file mode 100644 index 0000000..35cb861 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check7a.nss @@ -0,0 +1,12 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable7"); + + string sPropList = GetLocalString(oWidget, "sPropList"); + int iHaveThisProp = TestStringAgainstPattern("**." + ObjectToString(oPlaceable) + ".**", sPropList); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check8.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check8.ncs new file mode 100644 index 0000000..49a660b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check8.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check8.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check8.nss new file mode 100644 index 0000000..0213fe7 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check8.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable8"); + int iHaveThisProp = GetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable)); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check8a.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check8a.ncs new file mode 100644 index 0000000..a7fad64 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check8a.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check8a.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check8a.nss new file mode 100644 index 0000000..aa75ade --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check8a.nss @@ -0,0 +1,12 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable8"); + + string sPropList = GetLocalString(oWidget, "sPropList"); + int iHaveThisProp = TestStringAgainstPattern("**." + ObjectToString(oPlaceable) + ".**", sPropList); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check9.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check9.ncs new file mode 100644 index 0000000..6bc35ba Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check9.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check9.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check9.nss new file mode 100644 index 0000000..52df17b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check9.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable9"); + int iHaveThisProp = GetLocalInt(oWidget, "iProp" + ObjectToString(oPlaceable)); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check9a.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_check9a.ncs new file mode 100644 index 0000000..a344989 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_check9a.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_check9a.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_check9a.nss new file mode 100644 index 0000000..d480193 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_check9a.nss @@ -0,0 +1,12 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable9"); + + string sPropList = GetLocalString(oWidget, "sPropList"); + int iHaveThisProp = TestStringAgainstPattern("**." + ObjectToString(oPlaceable) + ".**", sPropList); + + iResult = (!iHaveThisProp) && (oPlaceable != OBJECT_INVALID); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_checknext.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_checknext.ncs new file mode 100644 index 0000000..2a47243 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_checknext.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_checknext.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_checknext.nss new file mode 100644 index 0000000..19aec5b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_checknext.nss @@ -0,0 +1,8 @@ +int StartingConditional() +{ + int iResult; + object oMore = GetLocalObject(OBJECT_SELF, "DM_SM_oMore"); + + iResult = GetIsObjectValid(oMore); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_chklist6.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_chklist6.ncs new file mode 100644 index 0000000..2e453b0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_chklist6.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_chklist6.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_chklist6.nss new file mode 100644 index 0000000..5f80762 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_chklist6.nss @@ -0,0 +1,9 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable6"); + + iResult = GetIsObjectValid(oPlaceable); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist0.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist0.ncs new file mode 100644 index 0000000..c2fc39b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist0.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist0.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist0.nss new file mode 100644 index 0000000..555b43a --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist0.nss @@ -0,0 +1,9 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable0"); + + iResult = GetIsObjectValid(oPlaceable); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist1.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist1.ncs new file mode 100644 index 0000000..944b9c7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist1.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist1.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist1.nss new file mode 100644 index 0000000..95cd328 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist1.nss @@ -0,0 +1,9 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable1"); + + iResult = GetIsObjectValid(oPlaceable); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist2.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist2.ncs new file mode 100644 index 0000000..4949c33 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist2.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist2.nss new file mode 100644 index 0000000..eabc64a --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist2.nss @@ -0,0 +1,9 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable2"); + + iResult = GetIsObjectValid(oPlaceable); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist3.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist3.ncs new file mode 100644 index 0000000..3287a19 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist3.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist3.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist3.nss new file mode 100644 index 0000000..22db27f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist3.nss @@ -0,0 +1,9 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable3"); + + iResult = GetIsObjectValid(oPlaceable); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist4.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist4.ncs new file mode 100644 index 0000000..0b00e7f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist4.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist4.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist4.nss new file mode 100644 index 0000000..7ebcc92 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist4.nss @@ -0,0 +1,9 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable4"); + + iResult = GetIsObjectValid(oPlaceable); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist5.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist5.ncs new file mode 100644 index 0000000..dd88939 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist5.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist5.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist5.nss new file mode 100644 index 0000000..7c158c5 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist5.nss @@ -0,0 +1,9 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable5"); + + iResult = GetIsObjectValid(oPlaceable); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist7.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist7.ncs new file mode 100644 index 0000000..51ba595 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist7.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist7.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist7.nss new file mode 100644 index 0000000..5f8a8d7 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist7.nss @@ -0,0 +1,9 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable7"); + + iResult = GetIsObjectValid(oPlaceable); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist8.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist8.ncs new file mode 100644 index 0000000..0c74809 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist8.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist8.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist8.nss new file mode 100644 index 0000000..ac86401 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist8.nss @@ -0,0 +1,9 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable8"); + + iResult = GetIsObjectValid(oPlaceable); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist9.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist9.ncs new file mode 100644 index 0000000..ff2f054 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist9.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist9.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist9.nss new file mode 100644 index 0000000..549ae71 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_cklist9.nss @@ -0,0 +1,9 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + object oPlaceable = GetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable9"); + + iResult = GetIsObjectValid(oPlaceable); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_config.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_config.ncs new file mode 100644 index 0000000..3542466 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_config.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_config.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_config.nss new file mode 100644 index 0000000..91bde82 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_config.nss @@ -0,0 +1,29 @@ +int StartingConditional() +{ + int iResult; + + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + + int iMaxUses = GetLocalInt(oWidget, "iMaxUses"); + int iCurrentUses = GetLocalInt(oWidget, "iCurrentUses"); + int iSimUses = GetLocalInt(oWidget, "iSimUses"); + + SetCustomToken(11030, IntToString(iCurrentUses)); + + if(iMaxUses == -1) + { SetCustomToken(11031, "Unlimited"); } + else + { SetCustomToken(11031, IntToString(iMaxUses)); } + + if(iSimUses == -1) + { SetCustomToken(11032, "Unlimited"); } + else + { SetCustomToken(11032, IntToString(iSimUses)); } + + + SetDroppableFlag(oWidget, FALSE); + + iResult = TRUE; + return iResult; +} + diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_empty.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_empty.ncs new file mode 100644 index 0000000..9428366 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_empty.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_empty.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_empty.nss new file mode 100644 index 0000000..a1fd685 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_empty.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + string sDesc = GetDescription(oWidget, FALSE, FALSE); + int iIsDM = GetIsDM(OBJECT_SELF) || GetIsDMPossessed(OBJECT_SELF); + + iResult = (sDesc == "EMPTY") && iIsDM; + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_facing.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_facing.ncs new file mode 100644 index 0000000..47c7ba0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_facing.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_facing.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_facing.nss new file mode 100644 index 0000000..58057ba --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_facing.nss @@ -0,0 +1,8 @@ +int StartingConditional() +{ + float fMyFacing = GetFacing(OBJECT_SELF); + SetCustomToken(11034, FloatToString(fMyFacing, 3, 2)); + SetLocalString(OBJECT_SELF, "sConvScript", "dm_sm_setfacing"); + + return TRUE; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_hasprops.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_hasprops.ncs new file mode 100644 index 0000000..086edbb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_hasprops.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_hasprops.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_hasprops.nss new file mode 100644 index 0000000..5ceab4e --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_hasprops.nss @@ -0,0 +1,9 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iPropIndex = GetLocalInt(oWidget, "iPropIndex"); + + iResult = iPropIndex > 0; + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_hassets.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_hassets.ncs new file mode 100644 index 0000000..e0d7314 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_hassets.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_hassets.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_hassets.nss new file mode 100644 index 0000000..199d67a --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_hassets.nss @@ -0,0 +1,9 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iCurrentSets = GetLocalInt(oWidget, "iCurrentSets"); + + iResult = iCurrentSets; + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_hasuses.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_hasuses.ncs new file mode 100644 index 0000000..43d975f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_hasuses.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_hasuses.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_hasuses.nss new file mode 100644 index 0000000..83eeb17 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_hasuses.nss @@ -0,0 +1,16 @@ +int StartingConditional() +{ + int iResult; + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iCurrentUses = GetLocalInt(oWidget, "iCurrentUses"); + int iMaxUses = GetLocalInt(oWidget, "iMaxUses"); + int iSimUses = GetLocalInt(oWidget, "iSimUses"); + int iCurrentSets = GetLocalInt(oWidget, "iCurrentSets"); + + int iHasUses = (iMaxUses == -1) || (iCurrentUses > 0); + int iHasSets = (iSimUses == -1) || (iCurrentSets < iSimUses); + + + iResult = (iHasUses && iHasSets); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_inc.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_inc.nss new file mode 100644 index 0000000..68d02c1 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_inc.nss @@ -0,0 +1,371 @@ +//------------------------------------------------------------------ +// dm_sm_inc include file for the DM Stage Manager +// +// 10/25/2009 Malishara: include file created +// 10/26/2009 Malishara: oReference changed to lReference +// iTrackingType added +// 11/03/2009 Malishara: added tracking options for appending +// props to existing sets +// 11/04/2009 Malishara: added Upgrade() function to upgrade a +// database string to the latest version +// 12/17/2009 Malishara: updated to V5 +// +// +// database format +// v1: prop count|DM x|DM y|DM z|DM facing |resref|x|y|z|facing +// v2: V2|prop count|DM x|DM y|DM z|DM facing |resref|name|x|y|z|facing +// v3: V3|prop count|DM x|DM y|DM z|DM facing |resref|name|flags|x|y|z|facing +// v4: V4|prop count|DM x|DM y|DM z|DM facing |resref|name|tag|flags|x|y|z|facing +// v5: V5|prop count|DM x|DM y|DM z|DM facing |resref|name|tag|flags|x|y|z|facing |variable data +//------------------------------------------------------------------ + +#include "x0_i0_position" +#include "dmts_common_inc" + + +// Destroy the props that have been spawned from oWidget. If oSpawnedBy +// is OBJECT_INVALID, all props will be destroyed, otherwise, only props +// spawned by character oSpawnedBy will be destroyed. +void Repack(object oWidget, object oSpawnedBy = OBJECT_INVALID); + +// Spawn the props saved to oWidget. +// lReference: "center" point used for calculating relative location. +// oSpawnedBy: the PC that used the widget. +// iRelativeCoords: TRUE for relative coordinates, FALSE for absolute. +// iRelativeFacing: TRUE for relative facing, FALSE for absolute (original). +// iRestrictedUse: tracks simultaneous uses, and charges. +// iTrackingType: type of tracking used for destroying objects when done +// 1: internal tracking +// 2: Sparky spawns +void Unpack(object oWidget, location lReference, object oSpawnedBy = OBJECT_INVALID, int iRelativeCoords = FALSE, int iRelativeFacing = FALSE, int iRestrictedUse = FALSE, int iTrackingType = 1); + + +float GetTheta(vector vAlpha, vector vBeta) +{ + float fLengthX = vBeta.x - vAlpha.x; + float fLengthY = vBeta.y - vAlpha.y; + + if( (fLengthX > 0.0f) && (fLengthY >= 0.0f)) + { return atan(fLengthY/fLengthX); } + if( (fLengthX > 0.0f) && (fLengthY < 0.0f )) + { return atan(fLengthY/fLengthX) + 360.0f; } + if( fLengthX < 0.0f) + { return atan(fLengthY/fLengthX) + 180.0f; } + if( (fLengthX == 0.0f) && (fLengthY > 0.0f)) + { return 90.0f; } + if( (fLengthX == 0.0f) && (fLengthY < 0.0f)) + { return 270.0f; } + return 0.0f; // error somewhere... +} + +string Upgrade(string sDesc) +{ if (FirstWord(sDesc, "|") == "V5") + { return sDesc; } + + int iVersion2 = FALSE; + int iVersion3 = FALSE; + int iVersion4 = FALSE; + int iVersion5 = FALSE; + + if( (FirstWord(sDesc, "|") == "V2")) + { iVersion2 = TRUE; + sDesc = RestWords(sDesc, "|"); } + else if( (FirstWord(sDesc, "|") == "V3")) + { iVersion2 = TRUE; + iVersion3 = TRUE; + sDesc = RestWords(sDesc, "|"); } + else if( (FirstWord(sDesc, "|") == "V4")) + { iVersion2 = TRUE; + iVersion3 = TRUE; + iVersion4 = TRUE; + sDesc = RestWords(sDesc, "|"); } + else if( (FirstWord(sDesc, "|") == "V5")) + { iVersion2 = TRUE; + iVersion3 = TRUE; + iVersion4 = TRUE; + iVersion5 = TRUE; + sDesc = RestWords(sDesc, "|"); } + + int iCounter = StringToInt(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + + string sNewDesc = "V5|" + IntToString(iCounter); + string sData = ""; + string sVarList; + int iVarCount; + + int iCount = 0; + int iLoop = 0; + + for (iLoop = 0; iLoop < 4; iLoop++) + { sData = FirstWord(sDesc, "|"); + sDesc = RestWords(sDesc, "|"); + + sNewDesc += "|" + FloatToString(StringToFloat(sData), 0, 2); + } + + while (iCount < iCounter) + { sNewDesc += "|" + FirstWord(sDesc, "|") + "|"; // resref + sDesc = RestWords(sDesc, "|"); + + if (iVersion2) + { sNewDesc += FirstWord(sDesc, "|"); // name + sDesc = RestWords(sDesc, "|"); + } + sNewDesc += "|"; + if (iVersion4) + { sNewDesc += FirstWord(sDesc, "|"); // tag + sDesc = RestWords(sDesc, "|"); + } + sNewDesc += "|"; + if (iVersion3) + { sNewDesc += FirstWord(sDesc, "|"); // flags + sDesc = RestWords(sDesc, "|"); + } + else + { sNewDesc += "-1"; } + + for (iLoop = 0; iLoop < 4; iLoop++) + { sData = FirstWord(sDesc, "|"); + sDesc = RestWords(sDesc, "|"); + + sNewDesc += "|" + FloatToString(StringToFloat(sData), 0, 2); + } + + sNewDesc += "|"; + if (iVersion5) + { sVarList = FirstWord(sDesc, "|"); + sDesc = RestWords(sDesc, "|"); + + sNewDesc += sVarList + "|"; + iVarCount = CountWords(sVarList + ",", ","); + + for (iLoop = iVarCount; iLoop > 0; iLoop--) + { sNewDesc += "|" + RestWords(sDesc, "|"); + sDesc = RestWords(sDesc, "|"); + } + } + + iCount++; + } + + return sNewDesc; +} + + +void Repack(object oWidget, object oSpawnedBy = OBJECT_INVALID) +{ int iCurrentSets = GetLocalInt(oWidget, "iCurrentSets"); + + object oProp = OBJECT_INVALID; + string sNameTag = ""; + string sProp = ""; + + int iSetLoop = 0; + int iPropLoop = 0; + + int iProps = GetLocalInt(oWidget, "iPropsSpawned_Set" + IntToString(iSetLoop)); + + while ((iSetLoop < iCurrentSets) && (iPropLoop < iProps)) + { sProp = "oSet" + IntToString(iSetLoop) + "Prop" + IntToString(iPropLoop); + oProp = GetLocalObject(oWidget, sProp); + + if ((oSpawnedBy == OBJECT_INVALID) || (!(oProp == OBJECT_INVALID))) + { if (GetHasInventory(oProp)) + { DestroyContents(oProp); } + DestroyObject(oProp); + } + + DeleteLocalObject(oWidget, sProp); + iPropLoop++; + + if(iPropLoop == iProps) + { DeleteLocalInt(oWidget, "iPropsSpawned_Set" + IntToString(iSetLoop)); + iSetLoop++; + iPropLoop = 0; + iProps = GetLocalInt(oWidget, "iPropsSpawned_Set" + IntToString(iSetLoop)); + } + } + DeleteLocalInt(oWidget, "iCurrentSets"); + DeleteLocalString(oWidget, "sPropList"); + DeleteLocalLocation(oWidget, "lZero"); + DeleteLocalInt(oWidget, "iDM_SM_SpawnType"); + +} + +void Unpack(object oWidget, location lReference, object oSpawnedBy = OBJECT_INVALID, int iRelativeCoords = FALSE, int iRelativeFacing = FALSE, int iRestrictedUse = FALSE, int iTrackingType = 1) +{ int iCurrentSets = GetLocalInt(oWidget, "iCurrentSets"); + + object oProp = OBJECT_INVALID; + string sDesc = GetDescription(oWidget, FALSE, FALSE); + int iVersion2 = FALSE; + int iVersion3 = FALSE; + int iVersion4 = FALSE; + int iVersion5 = FALSE; + + if( (FirstWord(sDesc, "|") == "V2")) + { iVersion2 = TRUE; + sDesc = RestWords(sDesc, "|"); } + else if( (FirstWord(sDesc, "|") == "V3")) + { iVersion2 = TRUE; + iVersion3 = TRUE; + sDesc = RestWords(sDesc, "|"); } + else if( (FirstWord(sDesc, "|") == "V4")) + { iVersion2 = TRUE; + iVersion3 = TRUE; + iVersion4 = TRUE; + sDesc = RestWords(sDesc, "|"); } + else if( (FirstWord(sDesc, "|") == "V5")) + { iVersion2 = TRUE; + iVersion3 = TRUE; + iVersion4 = TRUE; + iVersion5 = TRUE; + sDesc = RestWords(sDesc, "|"); } + + int iCounter = StringToInt(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + + object oMyArea = GetAreaFromLocation(lReference); + vector vMyNewPos = GetPositionFromLocation(lReference); + + float fMyOldX = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + float fMyOldY = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + float fMyOldZ = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + vector vZero = Vector(fMyOldX, fMyOldY, fMyOldZ); + float fMyOldFacing = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + location lMyOldLoc = Location(oMyArea, vZero, fMyOldFacing); + + float fPropX = 0.0f; + float fPropY = 0.0f; + float fPropZ = 0.0f; + float fPropFacing = 0.0f; + location lPropLocation = lReference; + string sResRef = ""; + string sNewName = ""; + string sNewTag = ""; + string sPropList = ""; + string sPropID_VarName; + int iFlags = 0; + int iHasPlot = 0; + int iHasUseable = 0; + int iRetagged = 0; + + int iLoop = 0; + + while( iLoop < iCounter) + { + sResRef = FirstWord(sDesc, "|"); + sDesc = RestWords(sDesc, "|"); + if( iVersion2 == TRUE) + { sNewName = FirstWord(sDesc, "|"); + sDesc = RestWords(sDesc, "|"); } + if( iVersion4 == TRUE) + { sNewTag = FirstWord(sDesc, "|"); + sDesc = RestWords(sDesc, "|"); } + if( iVersion3 == TRUE) + { iFlags = StringToInt(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + if (iFlags != -1) + { iHasPlot = iFlags & 1; + iHasUseable = (iFlags & 2) / 2; + iRetagged = (iFlags & 4) / 4; + } + } + + fPropX = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + fPropY = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + fPropZ = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + fPropFacing = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + + lPropLocation = Location(oMyArea, Vector(fPropX, fPropY, fPropZ), fPropFacing); + + DeleteLocalLocation(oWidget, "lZero"); + + if (iRelativeCoords) + { lPropLocation = Location(oMyArea, Vector(fPropX, fPropY, fMyOldZ), fPropFacing); + vector vNewProp = vZero; + if (iRelativeFacing) + { float fDistance = GetDistanceBetweenLocations(lMyOldLoc, lPropLocation); + float fTheta = GetTheta(vZero, Vector(fPropX, fPropY, fMyOldZ)); + + vNewProp = GetChangedPosition(vMyNewPos, fDistance, fTheta - fMyOldFacing + GetFacingFromLocation(lReference)); + float fRelativeZ = fPropZ - fMyOldZ + vMyNewPos.z; + fPropFacing = fPropFacing - fMyOldFacing + GetFacingFromLocation(lReference); + + lPropLocation = Location(oMyArea, Vector(vNewProp.x, vNewProp.y, fRelativeZ), fPropFacing); + + SetLocalLocation(oWidget, "lZero", lReference); + SetLocalInt(oWidget, "iDM_SM_SpawnType", 3); + } + else + { vector vRelative = Vector(fPropX - fMyOldX, fPropY - fMyOldY, fPropZ - fMyOldZ); + vNewProp = Vector(vMyNewPos.x + vRelative.x, vMyNewPos.y + vRelative.y, vMyNewPos.z + vRelative.z); + lPropLocation = Location(oMyArea, vNewProp, fPropFacing); + + SetLocalLocation(oWidget, "lZero", lReference); + SetLocalInt(oWidget, "iDM_SM_SpawnType", 2); + } + } + else + { SetLocalLocation(oWidget, "lZero", lMyOldLoc); + SetLocalInt(oWidget, "iDM_SM_SpawnType", 1); + } + + oProp = CreateObject(OBJECT_TYPE_PLACEABLE, sResRef, lPropLocation, FALSE, sNewTag); + sPropList += "." + ObjectToString(oProp) + "."; + + if( (iVersion2 == TRUE) && ( sNewName != "")) + { SetName(oProp, sNewName); } + if ((iVersion3 == TRUE) && (iFlags != -1)) + { SetPlotFlag(oProp, iHasPlot); + SetUseableFlag(oProp, iHasUseable); + SetLocalInt(oProp, "iRetagged", iRetagged); + } + + if (iVersion5) + { SetLocalString(oProp, "sDMTS_VarList", FirstWord(sDesc, "|")); + sDesc = RestoreVariables(oProp, sDesc); } + + switch (iTrackingType) + { case 1: SetLocalString(oProp, "sNameTag", GetName(oSpawnedBy) + " (" + GetPCPlayerName(oSpawnedBy) + ")"); + sPropID_VarName = "oSet" + IntToString(iCurrentSets) + "Prop" + IntToString(iLoop); + SetLocalObject(oWidget, sPropID_VarName, oProp); + SetLocalObject(oProp, "oStageManager", oWidget); + SetLocalString(oProp, "sPropID_VarName", sPropID_VarName); + break; + case 2: SetLocalInt(oProp, "iSparkySpawn", TRUE); + break; + default: break; + } + + iLoop++; + } + + if (iTrackingType == 1) + { SetLocalInt(oWidget, "iPropsSpawned_Set" + IntToString(iCurrentSets), iLoop); + iCurrentSets++; + SetLocalInt(oWidget, "iCurrentSets", iCurrentSets); + SetLocalString(oWidget, "sPropList", sPropList); + } + + if (iRestrictedUse) + { int iCurrentUses = GetLocalInt(oWidget, "iCurrentUses"); + int iCurrentSets = GetLocalInt(oWidget, "iCurrentSets"); + int iMaxUses = GetLocalInt(oWidget, "iMaxUses"); + int iSimUses = GetLocalInt(oWidget, "iSimUses"); + + if(iMaxUses != -1) + { iCurrentUses--; + SetLocalInt(oWidget, "iCurrentUses", iCurrentUses); + } + } + +} + diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_isdm.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_isdm.ncs new file mode 100644 index 0000000..130b853 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_isdm.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_isdm.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_isdm.nss new file mode 100644 index 0000000..ef5334f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_isdm.nss @@ -0,0 +1,24 @@ +#include "mali_string_fns" + + +int StartingConditional() +{ + int iResult; + + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + string sDesc = GetDescription(oWidget, FALSE, FALSE); + string sFirst = FirstWord(sDesc, "|"); + if ((sFirst == "V2") || (sFirst == "V3") || (sFirst == "V4") || (sFirst == "V5")) + { sDesc = RestWords(sDesc, "|"); + SetCustomToken(11021, GetStringLowerCase(sFirst)); + } + else + { SetCustomToken(11021, "v1"); } + + SetCustomToken(11020, FirstWord(sDesc, "|")); + + SetLocalString(OBJECT_SELF, "sConvScript", "dm_stage_dump"); + + iResult = GetIsDM(OBJECT_SELF) || GetIsDMPossessed(OBJECT_SELF); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_list.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_list.ncs new file mode 100644 index 0000000..752fc27 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_list.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_list.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_list.nss new file mode 100644 index 0000000..58098ba --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_list.nss @@ -0,0 +1,5 @@ +void main() +{ + DeleteLocalInt(OBJECT_SELF, "DM_SM_iOffset"); + ExecuteScript("dm_sm_listnext", OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_listnext.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_listnext.ncs new file mode 100644 index 0000000..01fb34e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_listnext.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_listnext.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_listnext.nss new file mode 100644 index 0000000..dbda572 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_listnext.nss @@ -0,0 +1,33 @@ +void main() +{ + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iOffset = GetLocalInt(OBJECT_SELF, "DM_SM_iOffset"); + int iPropIndex = GetLocalInt(oWidget, "iPropIndex"); + int iLoop = 0; + object oProp = OBJECT_INVALID; + + while( iLoop < 10) + { DeleteLocalObject(OBJECT_SELF, "DM_SM_oPlaceable" + IntToString(iLoop)); + iLoop++; + } + + iLoop = 0; + while( (iLoop < 10) & (iOffset < iPropIndex)) + { oProp = GetLocalObject(oWidget, "oProp" + IntToString(iOffset+1)); + if( GetIsObjectValid(oProp)) + { SetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable" + IntToString(iLoop), oProp); + SetCustomToken(11020 + iLoop, GetName(oProp)); + iLoop++; + } + iOffset++; + } + + SetLocalInt(OBJECT_SELF, "DM_SM_iOffset", iOffset); + + if( iOffset < iPropIndex) + { oProp = OBJECT_SELF; } + else + { oProp = OBJECT_INVALID; } + + SetLocalObject(OBJECT_SELF, "DM_SM_oMore", oProp); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_maxmenu.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_maxmenu.ncs new file mode 100644 index 0000000..c4089ee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_maxmenu.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_maxmenu.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_maxmenu.nss new file mode 100644 index 0000000..85ca171 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_maxmenu.nss @@ -0,0 +1,6 @@ +int StartingConditional() +{ + SetLocalString(OBJECT_SELF, "sConvScript", "dm_sm_setmax"); + + return TRUE; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_next.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_next.ncs new file mode 100644 index 0000000..80c504e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_next.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_next.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_next.nss new file mode 100644 index 0000000..74161d7 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_next.nss @@ -0,0 +1,35 @@ +void main() +{ + location lTarget = GetLocation(OBJECT_SELF); + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iOffset = GetLocalInt(OBJECT_SELF, "DM_SM_iOffset"); + int iLoop = 0; + object oTarget = OBJECT_SELF; + int iHaveThisProp = FALSE; + + while( iLoop < 10) + { + DeleteLocalObject(OBJECT_SELF, "DM_SM_oPlaceable" + IntToString(iLoop)); + iLoop++; + } + + iLoop = 0; + while( (iLoop < 10) & (GetIsObjectValid(oTarget) )) + { + oTarget = GetNearestObjectToLocation(OBJECT_TYPE_PLACEABLE, lTarget, iOffset+1); + + if( GetIsObjectValid(oTarget) ) + { iOffset++; + iHaveThisProp = GetLocalInt(oWidget, "iProp" + ObjectToString(oTarget)); + if( !iHaveThisProp) + { SetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable" + IntToString(iLoop), oTarget); + SetCustomToken(11020 + iLoop, GetName(oTarget)); + iLoop++; + } + } + } + + SetLocalInt(OBJECT_SELF, "DM_SM_iOffset", iOffset); + oTarget = GetNearestObjectToLocation(OBJECT_TYPE_PLACEABLE, lTarget, iOffset+1); + SetLocalObject(OBJECT_SELF, "DM_SM_oMore", oTarget); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_nexta.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_nexta.ncs new file mode 100644 index 0000000..eee2d83 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_nexta.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_nexta.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_nexta.nss new file mode 100644 index 0000000..92a90f3 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_nexta.nss @@ -0,0 +1,36 @@ +void main() +{ + location lTarget = GetLocation(OBJECT_SELF); + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iOffset = GetLocalInt(OBJECT_SELF, "DM_SM_iOffset"); + int iLoop = 0; + object oTarget = OBJECT_SELF; + int iHaveThisProp = FALSE; + string sPropList = GetLocalString(oWidget, "sPropList"); + + while( iLoop < 10) + { + DeleteLocalObject(OBJECT_SELF, "DM_SM_oPlaceable" + IntToString(iLoop)); + iLoop++; + } + + iLoop = 0; + while( (iLoop < 10) & (GetIsObjectValid(oTarget) )) + { + oTarget = GetNearestObjectToLocation(OBJECT_TYPE_PLACEABLE, lTarget, iOffset+1); + + if( GetIsObjectValid(oTarget) ) + { iOffset++; + int iHaveThisProp = TestStringAgainstPattern("**." + ObjectToString(oTarget) + ".**", sPropList); + if( !iHaveThisProp) + { SetLocalObject(OBJECT_SELF, "DM_SM_oPlaceable" + IntToString(iLoop), oTarget); + SetCustomToken(11020 + iLoop, GetName(oTarget)); + iLoop++; + } + } + } + + SetLocalInt(OBJECT_SELF, "DM_SM_iOffset", iOffset); + oTarget = GetNearestObjectToLocation(OBJECT_TYPE_PLACEABLE, lTarget, iOffset+1); + SetLocalObject(OBJECT_SELF, "DM_SM_oMore", oTarget); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_notunl.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_notunl.ncs new file mode 100644 index 0000000..473ff2b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_notunl.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_notunl.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_notunl.nss new file mode 100644 index 0000000..c486cc5 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_notunl.nss @@ -0,0 +1,10 @@ +int StartingConditional() +{ + int iResult; + + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iMaxUses = GetLocalInt(oWidget, "iMaxUses"); + + iResult = (iMaxUses != -1); + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_player.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_player.ncs new file mode 100644 index 0000000..bddbccf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_player.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_player.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_player.nss new file mode 100644 index 0000000..adfa5c4 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_player.nss @@ -0,0 +1,31 @@ +int StartingConditional() +{ + int iResult; + + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + + int iMaxUses = GetLocalInt(oWidget, "iMaxUses"); + int iCurrentUses = GetLocalInt(oWidget, "iCurrentUses"); + int iSimUses = GetLocalInt(oWidget, "iSimUses"); + int iCurrentSets = GetLocalInt(oWidget, "iCurrentSets"); + + if(iMaxUses == -1) + { SetCustomToken(11030, "Unlimited"); + SetCustomToken(11031, "uses"); } + else if(iMaxUses == 1) + { SetCustomToken(11030, IntToString(iCurrentUses) + " of " + IntToString(iMaxUses)); + SetCustomToken(11031, "use"); } + else + { SetCustomToken(11030, IntToString(iCurrentUses) + " of " + IntToString(iMaxUses)); + SetCustomToken(11031, "uses"); } + + if(iSimUses == -1) + { SetCustomToken(11032, "Unlimited"); } + else + { SetCustomToken(11032, IntToString(iSimUses)); } + + SetCustomToken(11033, IntToString(iCurrentSets)); + + iResult = iMaxUses; + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_recharge.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_recharge.ncs new file mode 100644 index 0000000..c164a8a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_recharge.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_recharge.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_recharge.nss new file mode 100644 index 0000000..1f1ebe9 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_recharge.nss @@ -0,0 +1,10 @@ +void main() +{ + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iMaxUses = GetLocalInt(oWidget, "iMaxUses"); + int iCurrentUses = GetLocalInt(oWidget, "iCurrentUses"); + + iCurrentUses = iCurrentUses + iMaxUses; + SetLocalInt(oWidget, "iCurrentUses", iCurrentUses); + SetCustomToken(11030, IntToString(iCurrentUses)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_repack.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_repack.ncs new file mode 100644 index 0000000..c09244f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_repack.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_repack.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_repack.nss new file mode 100644 index 0000000..e3c87d2 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_repack.nss @@ -0,0 +1,14 @@ +//------------------------------------------------------------------ +// dm_sm_repack repacks all props spawned from this widget by the +// the player +// +// 10/25/2009 Malishara: recoded to use include file +//------------------------------------------------------------------ + +#include "dm_sm_inc" + +void main() +{ object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + Repack(oWidget, OBJECT_SELF); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_select.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_select.ncs new file mode 100644 index 0000000..daf642e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_select.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_select.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_select.nss new file mode 100644 index 0000000..26fca3a --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_select.nss @@ -0,0 +1,5 @@ +void main() +{ + DeleteLocalInt(OBJECT_SELF, "DM_SM_iOffset"); + ExecuteScript("dm_sm_next", OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_selecta.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_selecta.ncs new file mode 100644 index 0000000..d22031d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_selecta.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_selecta.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_selecta.nss new file mode 100644 index 0000000..dd7301e --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_selecta.nss @@ -0,0 +1,5 @@ +void main() +{ + DeleteLocalInt(OBJECT_SELF, "DM_SM_iOffset"); + ExecuteScript("dm_sm_nexta", OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_setabs.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_setabs.ncs new file mode 100644 index 0000000..b0e6079 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_setabs.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_setabs.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_setabs.nss new file mode 100644 index 0000000..df9c3c6 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_setabs.nss @@ -0,0 +1,13 @@ +//------------------------------------------------------------------ +// dm_sm_setabs unpacks props with absolute coords & facing. +// +// 10/25/2009 Malishara: recoded to use include file +//------------------------------------------------------------------ +#include "dm_sm_inc" + + +void main() +{ + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + Unpack(oWidget, GetLocation(OBJECT_SELF), OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_setfacing.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_setfacing.ncs new file mode 100644 index 0000000..a89e580 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_setfacing.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_setfacing.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_setfacing.nss new file mode 100644 index 0000000..dae21db --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_setfacing.nss @@ -0,0 +1,54 @@ +void main() +{ + int iConvChoice = GetLocalInt(OBJECT_SELF, "iConvChoice"); + object oTarget = OBJECT_SELF; + float fFacing = StringToFloat(FloatToString(GetFacing(oTarget), 3, 0)); + + + switch (iConvChoice) + { case 1: + AssignCommand(oTarget, SetFacing(DIRECTION_SOUTH)); + AssignCommand(oTarget, SetFacing(DIRECTION_NORTH)); + break; + case 2: + AssignCommand(oTarget, SetFacing(fFacing - 1.0f + 180.0f)); + AssignCommand(oTarget, SetFacing(fFacing - 1.0f)); + break; + case 3: + AssignCommand(oTarget, SetFacing(fFacing - 5.0f + 180.0f)); + AssignCommand(oTarget, SetFacing(fFacing - 5.0f)); + break; + case 4: + AssignCommand(oTarget, SetFacing(fFacing - 20.0f)); + break; + case 5: + AssignCommand(oTarget, SetFacing(fFacing - 60.0f)); + break; + case 6: + AssignCommand(oTarget, SetFacing(fFacing - 90.0f)); + break; + case 7: + AssignCommand(oTarget, SetFacing(fFacing + 180.0f)); + break; + case 8: + AssignCommand(oTarget, SetFacing(fFacing + 90.0f)); + break; + case 9: + AssignCommand(oTarget, SetFacing(fFacing + 60.0f)); + break; + case 10: + AssignCommand(oTarget, SetFacing(fFacing + 20.0f)); + break; + case 11: + AssignCommand(oTarget, SetFacing(fFacing + 5.0f + 180.0f)); + AssignCommand(oTarget, SetFacing(fFacing + 5.0f)); + break; + case 12: + AssignCommand(oTarget, SetFacing(fFacing + 1.0f + 180.0f)); + AssignCommand(oTarget, SetFacing(fFacing + 1.0f)); + break; + default: + SendMessageToPC(OBJECT_SELF, "ERROR: Invalid distance."); + } +} + diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_setmax.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_setmax.ncs new file mode 100644 index 0000000..1804fda Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_setmax.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_setmax.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_setmax.nss new file mode 100644 index 0000000..c2f9260 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_setmax.nss @@ -0,0 +1,45 @@ +void main() +{ + int iConvChoice = GetLocalInt(OBJECT_SELF, "iConvChoice"); + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + + + switch (iConvChoice) + { case 1: + SetLocalInt(oWidget, "iMaxUses", 1); + SetCustomToken(11031, "1"); + break; + case 2: + SetLocalInt(oWidget, "iMaxUses", 5); + SetCustomToken(11031, "5"); + break; + case 3: + SetLocalInt(oWidget, "iMaxUses", 10); + SetCustomToken(11031, "10"); + break; + case 4: + SetLocalInt(oWidget, "iMaxUses", 15); + SetCustomToken(11031, "15"); + break; + case 5: + SetLocalInt(oWidget, "iMaxUses", 20); + SetCustomToken(11031, "20"); + break; + case 6: + SetLocalInt(oWidget, "iMaxUses", 25); + SetCustomToken(11031, "25"); + break; + case 7: + SetLocalInt(oWidget, "iMaxUses", 50); + SetCustomToken(11031, "50"); + break; + case 8: + SetLocalInt(oWidget, "iMaxUses", -1); + SetCustomToken(11031, "Unlimited"); + break; + default: + break; + } + +} + diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_setrelabs.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_setrelabs.ncs new file mode 100644 index 0000000..2e1ab00 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_setrelabs.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_setrelabs.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_setrelabs.nss new file mode 100644 index 0000000..623077a --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_setrelabs.nss @@ -0,0 +1,14 @@ +//------------------------------------------------------------------ +// dm_sm_setrelabs unpacks props with relative coords, absolute +// facing. +// +// 10/25/2009 Malishara: recoded to use include file +//------------------------------------------------------------------ +#include "dm_sm_inc" + + +void main() +{ + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + Unpack(oWidget, GetLocation(OBJECT_SELF), OBJECT_SELF, TRUE); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_setrelrel.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_setrelrel.ncs new file mode 100644 index 0000000..50e86c3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_setrelrel.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_setrelrel.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_setrelrel.nss new file mode 100644 index 0000000..992deae --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_setrelrel.nss @@ -0,0 +1,13 @@ +//------------------------------------------------------------------ +// dm_sm_setrelrel unpacks props with relative coords & facing +// +// 10/25/2009 Malishara: recoded to use include file +//------------------------------------------------------------------ +#include "dm_sm_inc" + + +void main() +{ + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + Unpack(oWidget, GetLocation(OBJECT_SELF), OBJECT_SELF, TRUE, TRUE); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_setsim.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_setsim.ncs new file mode 100644 index 0000000..1a239df Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_setsim.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_setsim.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_setsim.nss new file mode 100644 index 0000000..b63f975 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_setsim.nss @@ -0,0 +1,36 @@ +void main() +{ + int iConvChoice = GetLocalInt(OBJECT_SELF, "iConvChoice"); + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + + + switch (iConvChoice) + { case 1: + SetLocalInt(oWidget, "iSimUses", 1); + SetCustomToken(11032, "1"); + break; + case 2: + SetLocalInt(oWidget, "iSimUses", 2); + SetCustomToken(11032, "2"); + break; + case 3: + SetLocalInt(oWidget, "iSimUses", 3); + SetCustomToken(11032, "3"); + break; + case 4: + SetLocalInt(oWidget, "iSimUses", 4); + SetCustomToken(11032, "4"); + break; + case 5: + SetLocalInt(oWidget, "iSimUses", 5); + SetCustomToken(11032, "5"); + break; + case 6: + SetLocalInt(oWidget, "iSimUses", -1); + SetCustomToken(11032, "Unlimited"); + break; + default: + break; + } + +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_simmenu.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_simmenu.ncs new file mode 100644 index 0000000..1cceb10 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_simmenu.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_simmenu.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_simmenu.nss new file mode 100644 index 0000000..d9e429e --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_simmenu.nss @@ -0,0 +1,6 @@ +int StartingConditional() +{ + SetLocalString(OBJECT_SELF, "sConvScript", "dm_sm_setsim"); + + return TRUE; +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_unpack.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_unpack.ncs new file mode 100644 index 0000000..f57c48e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_unpack.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_unpack.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_unpack.nss new file mode 100644 index 0000000..f46d028 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_unpack.nss @@ -0,0 +1,15 @@ +//------------------------------------------------------------------ +// dm_sm_unpack unpacks props with relative coords & facing, and +// tracks number of sets currently spawned, and how +// many uses remain. +// +// 10/25/2009 Malishara: recoded to use include file +//------------------------------------------------------------------ +#include "dm_sm_inc" + + +void main() +{ + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + Unpack(oWidget, GetLocation(OBJECT_SELF), OBJECT_SELF, TRUE, TRUE, TRUE); +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_update.ncs b/cep_blueprints/_hak/prc_add_sb/dm_sm_update.ncs new file mode 100644 index 0000000..e4a5653 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_sm_update.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_sm_update.nss b/cep_blueprints/_hak/prc_add_sb/dm_sm_update.nss new file mode 100644 index 0000000..b003355 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_sm_update.nss @@ -0,0 +1,101 @@ +//------------------------------------------------------------------ +// dm_sm_update +// +// 05/16/2010 Malishara: created +//------------------------------------------------------------------ + +#include "dm_sm_inc" +#include "dmts_common_inc" + + +void main() +{ object oPC = OBJECT_SELF; + object oWidget = GetLocalObject(oPC, "DM_SM_oWidget"); + + int iType = GetLocalInt(oWidget, "iDM_SM_SpawnType"); + + location lZero = GetLocalLocation(oWidget, "lZero"); + vector vZero = GetPositionFromLocation(lZero); + float fZeroFacing = GetFacingFromLocation(lZero); + + string sDesc = GetDescription(oWidget, FALSE, FALSE); + + if( TestStringAgainstPattern("V*n", FirstWord(sDesc, "|"))) + { sDesc = RestWords(sDesc, "|"); } + + int iCount = StringToInt(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + + float fAbsZeroX = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + float fAbsZeroY = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + float fAbsZeroZ = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + float fAbsZeroFacing = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + + vector vAbsZero = Vector(fAbsZeroX, fAbsZeroY, fAbsZeroZ); + + + sDesc = FloatToString(fAbsZeroX, 0, 2) + "|" + FloatToString(fAbsZeroY, 0, 2) + "|"; + sDesc += FloatToString(fAbsZeroZ, 0, 2) + "|" + FloatToString(fAbsZeroFacing, 0, 2); + + + int iLoop = 0; + int iCounter = 0; + object oProp; + vector vProp; + float fFacing; + + while (iLoop < iCount) + { oProp = GetLocalObject(oWidget, "oSet0Prop" + IntToString(iLoop)); + if (GetIsObjectValid(oProp)) + { vProp = GetPosition(oProp); + fFacing = GetFacing(oProp); + + if (iType != 1) + { if (iType == 2) + { vector vRelative = Vector(vProp.x - vZero.x, vProp.y - vZero.y, vProp.z - vZero.z); + vProp = Vector(vAbsZero.x + vRelative.x, vAbsZero.y + vRelative.y, vAbsZero.z + vRelative.z); + } + else if (iType == 3) + { float fRelativeZ = vProp.z + vAbsZero.z - vZero.z; + + location lTemp = Location(GetArea(oPC), Vector(vProp.x, vProp.y, vZero.z), fFacing); + float fDistance = GetDistanceBetweenLocations(lTemp, lZero); + float fTheta = GetTheta(vZero, vProp); + vProp = GetChangedPosition(vAbsZero, fDistance, fTheta + fAbsZeroFacing - fZeroFacing); + + fFacing = fFacing + fAbsZeroFacing - fZeroFacing; + if (fFacing < 0.0f) + { fFacing = fFacing + 360.0f; } + + vProp = Vector(vProp.x, vProp.y, fRelativeZ); + } + } + + sDesc += "|" + GetResRef(oProp) + "|"; + if( GetName(oProp, TRUE) != GetName(oProp, FALSE)) + { sDesc += SearchAndReplace(GetName(oProp, FALSE), "|", ":"); } + sDesc += "|"; + if( GetLocalInt(oProp, "iRetagged") == TRUE) + { sDesc += GetTag(oProp); } + sDesc += "|" + IntToString(GetPlotFlag(oProp) + (GetUseableFlag(oProp) * 2) + (GetLocalInt(oProp, "iRetagged") * 4)) + "|"; + sDesc += FloatToString(vProp.x, 0, 2) + "|"; + sDesc += FloatToString(vProp.y, 0, 2) + "|" + FloatToString(vProp.z, 0, 2) + "|"; + sDesc += FloatToString(fFacing, 0, 2) + "|"; + sDesc += SaveVariables(oProp, FALSE); + + iCounter++; + } + + iLoop++; + } + + + sDesc = "V5|" + IntToString(iCounter) + "|" + sDesc; + SetDescription(oWidget, sDesc, FALSE); +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/dm_stage_blank.ncs b/cep_blueprints/_hak/prc_add_sb/dm_stage_blank.ncs new file mode 100644 index 0000000..6fe7d72 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_stage_blank.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_stage_blank.nss b/cep_blueprints/_hak/prc_add_sb/dm_stage_blank.nss new file mode 100644 index 0000000..6d349c6 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_stage_blank.nss @@ -0,0 +1,6 @@ +void main() +{ + object oNewWidget = CreateItemOnObject("mali_dm_stage", OBJECT_SELF); + if( oNewWidget == OBJECT_INVALID) + { SendMessageToPC(OBJECT_SELF, "ERROR: Could not create a DM Stage Manager widget."); } +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_stage_copy.ncs b/cep_blueprints/_hak/prc_add_sb/dm_stage_copy.ncs new file mode 100644 index 0000000..e162664 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_stage_copy.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_stage_copy.nss b/cep_blueprints/_hak/prc_add_sb/dm_stage_copy.nss new file mode 100644 index 0000000..4efe5ef --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_stage_copy.nss @@ -0,0 +1,10 @@ +void main() +{ + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + + object oNewWidget = CopyItem(oWidget, OBJECT_SELF, TRUE); + if( oNewWidget == OBJECT_INVALID) + { SendMessageToPC(OBJECT_SELF, "ERROR: Could not copy DM Stage Manager widget."); } + else + { SetDescription(oNewWidget, GetDescription(oWidget, FALSE, FALSE), FALSE); } +} diff --git a/cep_blueprints/_hak/prc_add_sb/dm_stage_dump.ncs b/cep_blueprints/_hak/prc_add_sb/dm_stage_dump.ncs new file mode 100644 index 0000000..76d37bc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dm_stage_dump.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dm_stage_dump.nss b/cep_blueprints/_hak/prc_add_sb/dm_stage_dump.nss new file mode 100644 index 0000000..6bb509d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dm_stage_dump.nss @@ -0,0 +1,133 @@ +//---------------------------------------------------------------------------- +// dm_sm_boxset +// +// 12/17/2009 Malishara: updated to use includes, V5 support +//---------------------------------------------------------------------------- + +#include "dmts_common_inc" + + +void main() +{ + int iConvChoice = GetLocalInt(OBJECT_SELF, "iConvChoice"); + object oWidget = GetLocalObject(OBJECT_SELF, "DM_SM_oWidget"); + int iCurrentSets = GetLocalInt(oWidget, "iCurrentSets"); + + object oProp = OBJECT_INVALID; + string sDesc = GetDescription(oWidget, FALSE, FALSE); + int iVersion2 = FALSE; + int iVersion3 = FALSE; + int iVersion4 = FALSE; + int iVersion5 = FALSE; + + if( (FirstWord(sDesc, "|") == "V2")) + { iVersion2 = TRUE; + sDesc = RestWords(sDesc, "|"); } + else if( (FirstWord(sDesc, "|") == "V3")) + { iVersion2 = TRUE; + iVersion3 = TRUE; + sDesc = RestWords(sDesc, "|"); } + else if( (FirstWord(sDesc, "|") == "V4")) + { iVersion2 = TRUE; + iVersion3 = TRUE; + iVersion4 = TRUE; + sDesc = RestWords(sDesc, "|"); } + else if( (FirstWord(sDesc, "|") == "V5")) + { iVersion2 = TRUE; + iVersion3 = TRUE; + iVersion4 = TRUE; + iVersion5 = TRUE; + sDesc = RestWords(sDesc, "|"); } + + + int iCounter = StringToInt(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + + location lMyLocation = GetLocation(OBJECT_SELF); + object oMyArea = GetAreaFromLocation(lMyLocation); + + float fMyOldX = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + float fMyOldY = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + float fMyOldZ = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + vector vZero = Vector(fMyOldX, fMyOldY, fMyOldZ); + float fMyOldFacing = StringToFloat(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + + string sPropX; + string sPropY; + string sPropZ; + string sPropFacing; + location lPropLocation = lMyLocation; + string sResRef = ""; + string sNewName = ""; + string sNewTag = ""; + int iFlags = 0; + int iHasPlot = 0; + int iHasUseable = 0; + int iRetagged = 0; + + int iLoop = 0; + + while( iLoop < iCounter) + { + sResRef = FirstWord(sDesc, "|"); + sDesc = RestWords(sDesc, "|"); + if( iVersion2 == TRUE) + { sNewName = FirstWord(sDesc, "|"); + sDesc = RestWords(sDesc, "|"); } + if( iVersion4 == TRUE) + { sNewTag = FirstWord(sDesc, "|"); + sDesc = RestWords(sDesc, "|"); } + if( iVersion3 == TRUE) + { iFlags = StringToInt(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + iHasPlot = iFlags & 1; + iHasUseable = (iFlags & 2) / 2; + iRetagged = (iFlags & 4) / 4; } + + sPropX = FirstWord(sDesc, "|"); + sDesc = RestWords(sDesc, "|"); + sPropY = FirstWord(sDesc, "|"); + sDesc = RestWords(sDesc, "|"); + sPropZ = FirstWord(sDesc, "|"); + sDesc = RestWords(sDesc, "|"); + sPropFacing = FirstWord(sDesc, "|"); + sDesc = RestWords(sDesc, "|"); + + if (iConvChoice == 2) + { float fFacing = StringToFloat(sPropFacing); + if (fFacing < 90.0f) + { fFacing = fFacing + 270.0f; } + else + { fFacing = fFacing - 90.0f; } + sPropFacing = FloatToString(fFacing, 0, 2); + } + +// lPropLocation = Location(oMyArea, Vector(fPropX, fPropY, fPropZ), fPropFacing); +// oProp = CreateObject(OBJECT_TYPE_PLACEABLE, sResRef, lPropLocation, FALSE, sNewTag); + SendMessageToPC(OBJECT_SELF, sResRef + ": (" + sPropX + ", " + sPropY + ", " + sPropZ + ") facing " + sPropFacing); + +// if( (iVersion2 == TRUE) && (sNewName != "")) +// { SetName(oProp, sNewName); } +// if( iVersion3 == TRUE) +// { SetPlotFlag(oProp, iHasPlot); +// SetUseableFlag(oProp, iHasUseable); } +// SetLocalString(oProp, "sNameTag", GetName(OBJECT_SELF) + " (" + GetPCPlayerName(OBJECT_SELF) + ")"); +// SetLocalInt(oProp, "iRetagged", iRetagged); + +// SetLocalObject(oWidget, "oSet"+IntToString(iCurrentSets)+"Prop"+IntToString(iLoop), oProp); + + if (iVersion5) + { sDesc = RestoreVariables(OBJECT_SELF, sDesc, FALSE); } + + iLoop++; + } + +// iCurrentSets++; +// SetLocalInt(oWidget, "iCurrentSets", iCurrentSets); +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/dmts_common_inc.nss b/cep_blueprints/_hak/prc_add_sb/dmts_common_inc.nss new file mode 100644 index 0000000..0c748f6 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dmts_common_inc.nss @@ -0,0 +1,143 @@ +//---------------------------------------------------------------------------- +// DMTS Common Functions Include +// +// 12/17/2009 Malishara: created +// 04/19/2010 Malishara: moved RecreteObjectAtLocation() here +//---------------------------------------------------------------------------- + +#include "mali_string_fns" + + +void DestroyContents(object oObject) +{ object oItem = GetFirstItemInInventory(oObject); + while (GetIsObjectValid(oItem)) + { DestroyObject(oItem); + oItem = GetNextItemInInventory(oObject); + } +} + +void CopyContents(object oSource, object oDest, string sTag = "") +{ object oItem = GetFirstItemInInventory(oSource); + while (GetIsObjectValid(oItem)) + { CopyObject(oItem, GetLocation(oDest), oDest, sTag); + oItem = GetNextItemInInventory(oSource); + } +} + +string SaveVariables(object oObject, int iSaveInternals = TRUE) +{ string sNewList = ""; + string sData = ""; + string sVarType; + string sVarName; + + string sDMTS_VarList = GetLocalString(oObject, "sDMTS_VarList"); + string sInternal_VarList = "int iRetagged,string sNameTag,int DM_PAA_iOriginal," + + "int iSparkySpawned,string sPropID_VarName"; + string sVarList = "string sDMTS_VarList,int iPlayAnimation" + ","; + + if (iSaveInternals) + { sVarList += "," + sInternal_VarList; } + + if (sDMTS_VarList != "") + { sVarList = sDMTS_VarList + "," + sVarList; } + + while (sVarList != "") + { sVarType = FirstWord(sVarList); + sVarName = RestWords(FirstWord(sVarList, ",")); + sVarList = RestWords(sVarList, ","); + + if (sVarType == "string") + { if (GetLocalString(oObject, sVarName) != "") + { sNewList += ",string " + sVarName; + sData += "|" + GetLocalString(oObject, sVarName); + } + } + else if (sVarType == "int") + { if (GetLocalInt(oObject, sVarName) != 0) + { sNewList += ",int " + sVarName; + sData += "|" + IntToString(GetLocalInt(oObject, sVarName)); + } + } + else if (sVarType == "float") + { if (GetLocalFloat(oObject, sVarName) != 0.0f) + { sNewList += ",float " + sVarName; + sData += "|" + FloatToString(GetLocalFloat(oObject, sVarName), 0, 2); + } + } + } + + return RestWords(sNewList, ",") + sData; +} + +string RestoreVariables(object oObject, string sVarList, int iWriteVars = TRUE) +{string sData = RestWords(sVarList, "|"); + sVarList = FirstWord(sVarList, "|"); + string sVarType; + string sVarName; + string sVariable; + + while (sVarList != "") + { sVarType = FirstWord(sVarList); + sVarName = FirstWord(RestWords(sVarList), ","); + sVarList = RestWords(sVarList, ","); + + sVariable = FirstWord(sData, "|"); + sData = RestWords(sData, "|"); + + if (iWriteVars) + { if (sVarType == "string") + { SetLocalString(oObject, sVarName, sVariable); } + else if (sVarType == "int") + { SetLocalInt(oObject, sVarName, StringToInt(sVariable)); } + else if (sVarType == "float") + { SetLocalFloat(oObject, sVarName, StringToFloat(sVariable)); } + } + } + + return sData; +} + +object RecreateObjectAtLocation(object oTarget, location lTargetLocation, string sNewTag = "") +{ int iPlot = GetPlotFlag(oTarget); + int iUseable = GetUseableFlag(oTarget); + + string sNewName = GetName(oTarget); + string sResRef = GetResRef(oTarget); + string sDesc = GetDescription(oTarget); + if (sNewTag == "") + { sNewTag = GetTag(oTarget); } + + location lOriginal = GetLocalLocation(oTarget, "DM_PAA_lOriginal"); + object oStageManager = GetLocalObject(oTarget, "oStageManager"); + string sPropID_VarName = GetLocalString(oTarget, "sPropID_VarName"); + + string sVariables = SaveVariables(oTarget); + + + // Destroy existing placeable, create new placeable, update variables + if (GetHasInventory(oTarget)) + { DestroyContents(oTarget); } + DestroyObject(oTarget); + + oTarget = CreateObject(OBJECT_TYPE_PLACEABLE, sResRef, lTargetLocation, FALSE, sNewTag); + + SetPlotFlag(oTarget, iPlot); + SetUseableFlag(oTarget, iUseable); + if( sNewName != "") + { SetName(oTarget, sNewName); } + if (GetDescription(oTarget) != sDesc) + { SetDescription(oTarget, sDesc); } + + if (GetIsObjectValid(oStageManager)) + { SetLocalObject(oTarget, "oStageManager", oStageManager); + SetLocalObject(oStageManager, sPropID_VarName, oTarget); + } + SetLocalObject(OBJECT_SELF, "DM_PAA_oTarget", oTarget); + SetLocalLocation(oTarget, "DM_PAA_lOriginal", lOriginal); + RestoreVariables(oTarget, sVariables); + + ExecuteScript("playanimation", oTarget); + + return oTarget; +} + diff --git a/cep_blueprints/_hak/prc_add_sb/dragon_dmount.ncs b/cep_blueprints/_hak/prc_add_sb/dragon_dmount.ncs new file mode 100644 index 0000000..0b1db4c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dragon_dmount.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dragon_dmount.nss b/cep_blueprints/_hak/prc_add_sb/dragon_dmount.nss new file mode 100644 index 0000000..136ece2 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dragon_dmount.nss @@ -0,0 +1,55 @@ +// script: dragon_dmount +// by Barry_1066 +// 06/03/2009 +// Variable PONY_ID string resref (resref of the horse to be spawned) +// This variable is placed on the horse/pony blueprint. +#include "x3_inc_horse" +#include "nw_i0_generic" +void main() +{ + int iAppearance; + int iTail; + +object oPC=OBJECT_SELF; +string sResRef = GetLocalString(oPC,"PONY_ID"); + SetLocalInt(oPC, "dragon_riding", FALSE); + iAppearance = GetLocalInt(oPC, "CgApp"); + sResRef = GetLocalString(oPC,"PONY_ID"); + SetCreatureAppearanceType(oPC, iAppearance); + iTail = GetLocalInt(oPC, "CgTail"); + SetCreatureTailType(iTail, oPC); + SetLocalInt(oPC,"bX3_IS_MOUNTED",FALSE); + DeleteLocalString(oPC,"X3_HORSE_SCRIPT_DISMOUNT"); + SetLocalInt(oPC, "VAR_HORSEMOUNT", 0);//horselord class variable + + object oTarget; + location lPc = GetLocation(oPC); + location lWyrmling = GetItemActivatedTargetLocation(); +string sString = GetName(OBJECT_SELF); + + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, sResRef, lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + // SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); + SetName (oWyrmling, sString + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPC, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPC, ActionSpeakString("Invalid Horse/Pony")); + }/* end else (valid owyrmling) */ + +//remove horse support DLA Style +object oRider=OBJECT_SELF; + +DelayCommand(1.0, HORSE_SupportOriginalSpeed(oRider)); +DelayCommand(1.0, HORSE_SupportRemoveMountedSkillDecreases(oRider)); +DelayCommand(1.0, HORSE_SupportRemoveACBonus(oRider)); +DelayCommand(1.0, HORSE_SupportRemoveHPBonus(oRider)); +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/dragon_mount.ncs b/cep_blueprints/_hak/prc_add_sb/dragon_mount.ncs new file mode 100644 index 0000000..f889193 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/dragon_mount.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/dragon_mount.nss b/cep_blueprints/_hak/prc_add_sb/dragon_mount.nss new file mode 100644 index 0000000..53969a2 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/dragon_mount.nss @@ -0,0 +1,126 @@ +// script: dragon_mount +// by Barry_1066 +// 05/09/2009 +// Variable PONY_ID string resref (resref of the dragon to be spawned) +// This variable is placed on the dragon blueprint. +#include "x2_inc_switches" +#include "x3_inc_horse" +void main() +{ +object oPC=OBJECT_SELF; +object oMount=GetSpellTargetObject(); + + + int MALE_DRAGONRIDER_APP = 3271; + int FEMALE_DRAGONRIDER_APP = 3272; +////////////////////////////////////////////////////// +// Used for testing before models we in cep 2.3 // +///////////////////////////////////////////////////// + //int MALE_DRAGONRIDER_APP = 1556; + //int FEMALE_DRAGONRIDER_APP = 1557; + int iAppearance; + int iTail; + + if (GetLocalInt(oPC, "dragon_riding") == FALSE) + { // change to riding dragon type + if (GetMaster(oMount) != oPC) + { +FloatingTextStringOnCreature("This Dragon Belongs to someone else", oPC); + } +////////////////////////////////////////////////////// +// Do NOT Mount if the monut belongs to another // +///////////////////////////////////////////////////// + if (GetMaster(oMount) == oPC) +///////////////////////////////////////////////////// +{ +string sResRef = GetLocalString(oMount,"PONY_ID"); +SetLocalString(oPC, "PONY_ID", sResRef); + + iAppearance = GetAppearanceType(oPC); + SetLocalInt(oPC, "CgApp", iAppearance); + iTail = GetCreatureTailType(oPC); + SetLocalInt(oPC, "CgTail", iTail); + SetLocalInt(oPC, "dragon_riding", TRUE); + if (GetGender(oPC) == GENDER_MALE) + { SetCreatureAppearanceType(oPC, MALE_DRAGONRIDER_APP); } + else + { SetCreatureAppearanceType(oPC, FEMALE_DRAGONRIDER_APP); } +SetLocalInt(oPC,"bX3_IS_MOUNTED",TRUE); +SetLocalString(oPC, "X3_HORSE_SCRIPT_DISMOUNT", "dragon_dmount"); +SetLocalInt(oPC, "VAR_HORSEMOUNT", 1);//horselord class variable + +//apply horse support DLA Style +object oRider=OBJECT_SELF; +object oHorse; +oHorse=GetHenchman(oPC); + + +DelayCommand(1.0, HORSE_SupportIncreaseSpeed(oRider,oHorse)); +DelayCommand(1.0, HORSE_SupportApplyMountedSkillDecreases(oRider)); +DelayCommand(1.0, HORSE_SupportAdjustMountedArcheryPenalty(oRider)); +DelayCommand(1.0, HORSE_SupportApplyACBonus(oRider,oHorse)); +DelayCommand(1.0, HORSE_SupportApplyHPBonus(oRider,oHorse)); + +//Removes horse as henchman while mounted +object oTarget; +oTarget=GetHenchman(oPC); + +RemoveHenchman(oPC, oTarget); + +DestroyObject(oTarget); + return; + + } + + + + if (GetLocalInt(oPC, "dragon_riding")== TRUE) + { SetLocalInt(oPC, "dragon_riding", FALSE); + int iAppearance = GetLocalInt(oPC, "CgApp"); + object oPC=OBJECT_SELF; + string sResRef = GetLocalString(oPC,"PONY_ID"); + SetCreatureAppearanceType(oPC, iAppearance); + int iTail = GetLocalInt(oPC, "CgTail"); + SetCreatureTailType(iTail, oPC); + SetLocalInt(oPC,"bX3_IS_MOUNTED",FALSE); + DeleteLocalString(oPC,"X3_HORSE_SCRIPT_DISMOUNT"); + SetLocalInt(oPC, "VAR_HORSEMOUNT", 0);//horselord class variable + + object oTarget; + location lPc = GetLocation(oPC); + location lWyrmling = GetItemActivatedTargetLocation(); +string sString = GetName(OBJECT_SELF); + + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, sResRef, lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + // SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); + SetName (oWyrmling, sString + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPC, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPC, ActionSpeakString("Invalid Horse/Pony")); + }/* end else (valid owyrmling) */ + +//remove horse support DLA Style +object oRider=OBJECT_SELF; + +DelayCommand(1.0, HORSE_SupportOriginalSpeed(oRider)); +DelayCommand(1.0, HORSE_SupportRemoveMountedSkillDecreases(oRider)); +DelayCommand(1.0, HORSE_SupportRemoveACBonus(oRider)); +DelayCommand(1.0, HORSE_SupportRemoveHPBonus(oRider)); + return; + } + } +} + + + + + + diff --git a/cep_blueprints/_hak/prc_add_sb/enc_checksparky.ncs b/cep_blueprints/_hak/prc_add_sb/enc_checksparky.ncs new file mode 100644 index 0000000..e0c3dee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/enc_checksparky.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/enc_checksparky.nss b/cep_blueprints/_hak/prc_add_sb/enc_checksparky.nss new file mode 100644 index 0000000..e6d30cf --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/enc_checksparky.nss @@ -0,0 +1,29 @@ +int StartingConditional() +{ + object oArea = GetArea(OBJECT_SELF); + int iHasEnc = TRUE; + int iLoop = 0; + string sEnc; + string sNum; + int iDisabled = GetLocalInt(oArea, "iSparkyDisabled"); + string sStatus = iDisabled ? "OFF" : "ON"; + + while (iHasEnc) + { if ((iLoop +1) < 10) + { sNum = "0" + IntToString(iLoop + 1); } + else + { sNum = IntToString(iLoop + 1); } + sEnc = GetLocalString(oArea, "encounter_" + sNum); + if (sEnc == "") + { iHasEnc = FALSE; } + else + { iLoop++; } + } + + SetCustomToken(11051, IntToString(iLoop) + ", " + sStatus); + + DeleteLocalInt(OBJECT_SELF, "iConvPage"); + SetLocalInt(OBJECT_SELF, "iSparkyTotal", iLoop); + + return (iLoop > 0); +} diff --git a/cep_blueprints/_hak/prc_add_sb/enc_custspawn.ncs b/cep_blueprints/_hak/prc_add_sb/enc_custspawn.ncs new file mode 100644 index 0000000..0d1270b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/enc_custspawn.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/enc_custspawn.nss b/cep_blueprints/_hak/prc_add_sb/enc_custspawn.nss new file mode 100644 index 0000000..873e576 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/enc_custspawn.nss @@ -0,0 +1,51 @@ +// Spawn custom encounter + +// Retain DMFI functionality - copy effects +void SpawnCreature(object oCreature, location lEncounter, int iRandomWalk = FALSE) +{ + object oNewCreature = CopyObject(oCreature, lEncounter); + effect eEffect = GetFirstEffect(oCreature); + while (GetIsEffectValid(eEffect)) + { + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oNewCreature); + eEffect = GetNextEffect(oCreature); + } + if (iRandomWalk) + { AssignCommand(oNewCreature, ActionRandomWalk()); } +} + + +void main() +{ + location lEncounter = GetLocalLocation(OBJECT_SELF, "lMCS_Spawn"); + DeleteLocalLocation(OBJECT_SELF, "lMCS_Spawn"); + + object oWP; + object oNewCreature; + + if (GetLocalInt(OBJECT_SELF, "iENC_ditto") == TRUE) + { oWP = GetLocalObject(OBJECT_SELF, "oENC_LastSpawn"); + DeleteLocalInt(OBJECT_SELF, "iENC_ditto"); + } + else + { string sEncounterArea = GetLocalString(OBJECT_SELF, "sEncounterArea"); + int iConvChoice = GetLocalInt(OBJECT_SELF, "iConvChoice"); + string sEncounterCell = "WP_ENC_" + IntToString(iConvChoice) + sEncounterArea; + oWP = GetObjectByTag(sEncounterCell); + SetLocalObject(OBJECT_SELF, "oENC_LastSpawn", oWP); + DeleteLocalString(OBJECT_SELF, "sEncounterArea"); + DeleteLocalInt(OBJECT_SELF, "iConvChoice"); + } + + int iLoop = 1; + object oCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, oWP, iLoop); + + while (GetIsObjectValid(oCreature) && (GetDistanceBetween(oWP, oCreature) < 8.0) && (iLoop < 13)) + { if (GetTag(GetArea(OBJECT_SELF)) == "_EncounterArea") + { DelayCommand(1.0f, SpawnCreature(oCreature, lEncounter)); } + else + { SpawnCreature(oCreature, lEncounter, TRUE); } + iLoop++; + oCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, oWP, iLoop); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/enc_lvrclear.ncs b/cep_blueprints/_hak/prc_add_sb/enc_lvrclear.ncs new file mode 100644 index 0000000..b83839b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/enc_lvrclear.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/enc_lvrclear.nss b/cep_blueprints/_hak/prc_add_sb/enc_lvrclear.nss new file mode 100644 index 0000000..7ea1e93 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/enc_lvrclear.nss @@ -0,0 +1,57 @@ +string FirstWord(string sString, string sDelimiter) +{ if (FindSubString(sString, sDelimiter) == -1) + { return sString; } + else + { return GetStringLeft(sString, FindSubString(sString, sDelimiter)); } +} + +string RestWords(string sString, string sDelimiter) +{ if (FindSubString(sString, sDelimiter) == -1) + { return ""; } + else + { return GetStringRight(sString, GetStringLength(sString) - FindSubString(sString, sDelimiter) - GetStringLength(sDelimiter)); } +} + +string SearchAndReplace(string sString, string sSearch, string sReplace) +{ string sNewString = ""; + int iOffset = FindSubString(sString, sSearch); + while (iOffset != -1) + { sNewString += FirstWord(sString, sSearch) + sReplace; + sString = RestWords(sString, sSearch); + iOffset = FindSubString(sString, sSearch); + } + return sNewString + sString; +} + +void ClearCell(object oWP, float fDelay) +{ int iLoop = 1; + object oCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, oWP, iLoop); + + while (GetIsObjectValid(oCreature) && (GetDistanceBetween(oWP, oCreature) < 8.0)) + { DelayCommand(fDelay, DestroyObject(oCreature)); + iLoop++; + oCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, oWP, iLoop); + } +} + + +void main() +{ + object oLever = OBJECT_SELF; + object oWP = GetWaypointByTag(SearchAndReplace(GetTag(oLever), "LVRKILL", "WP")); + object oSign = GetObjectByTag(SearchAndReplace(GetTag(oLever), "LVRKILL", "SIGN")); + location lWP = GetLocation(oWP); + effect ePWKill = EffectVisualEffect(VFX_FNF_PWKILL ); + + SetName(oSign); + + AssignCommand(oLever, ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); + DelayCommand(1.0f, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, ePWKill, lWP)); + DelayCommand(3.0f, AssignCommand(oLever, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE))); + + ClearCell(oWP, 1.5f); + DelayCommand(3.0f, ClearCell(oWP, 0.0f)); + + +} + diff --git a/cep_blueprints/_hak/prc_add_sb/enc_lvrnodrop.ncs b/cep_blueprints/_hak/prc_add_sb/enc_lvrnodrop.ncs new file mode 100644 index 0000000..b0c202f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/enc_lvrnodrop.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/enc_lvrnodrop.nss b/cep_blueprints/_hak/prc_add_sb/enc_lvrnodrop.nss new file mode 100644 index 0000000..e3e41e3 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/enc_lvrnodrop.nss @@ -0,0 +1,69 @@ +string FirstWord(string sString, string sDelimiter) +{ if (FindSubString(sString, sDelimiter) == -1) + { return sString; } + else + { return GetStringLeft(sString, FindSubString(sString, sDelimiter)); } +} + +string RestWords(string sString, string sDelimiter) +{ if (FindSubString(sString, sDelimiter) == -1) + { return ""; } + else + { return GetStringRight(sString, GetStringLength(sString) - FindSubString(sString, sDelimiter) - GetStringLength(sDelimiter)); } +} + +string SearchAndReplace(string sString, string sSearch, string sReplace) +{ string sNewString = ""; + int iOffset = FindSubString(sString, sSearch); + while (iOffset != -1) + { sNewString += FirstWord(sString, sSearch) + sReplace; + sString = RestWords(sString, sSearch); + iOffset = FindSubString(sString, sSearch); + } + return sNewString + sString; +} + +void NoDrops(object oCreature) +{ object oItem = GetFirstItemInInventory(oCreature); + + while (GetIsObjectValid(oItem)) + { if (GetDroppableFlag(oItem)) + { SetDroppableFlag(oItem, FALSE); } + oItem = GetNextItemInInventory(oCreature); + } + + int iLoop = 0; + while (iLoop < 18) + { oItem = GetItemInSlot(iLoop, oCreature); + if (GetIsObjectValid(oItem) && GetDroppableFlag(oItem)) + { SetDroppableFlag(oItem, FALSE); } + iLoop++; + } + + TakeGoldFromCreature(GetGold(oCreature), oCreature, TRUE); +} + + +void main() +{ + object oLever = OBJECT_SELF; + object oWP = GetWaypointByTag(SearchAndReplace(GetTag(oLever), "LVRDROPS", "WP")); + object oItem; + + AssignCommand(oLever, ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); + DelayCommand(1.0f, AssignCommand(oLever, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE))); + + + int iLoop = 1; + object oCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, oWP, iLoop); + + + while (GetIsObjectValid(oCreature) && (GetDistanceBetween(oWP, oCreature) < 8.0)) + { if (!(GetIsPC(oCreature))) + { NoDrops(oCreature); } + + iLoop++; + oCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, oWP, iLoop); + } +} + diff --git a/cep_blueprints/_hak/prc_add_sb/enc_mcs_load.ncs b/cep_blueprints/_hak/prc_add_sb/enc_mcs_load.ncs new file mode 100644 index 0000000..d8565ec Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/enc_mcs_load.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/enc_mcs_load.nss b/cep_blueprints/_hak/prc_add_sb/enc_mcs_load.nss new file mode 100644 index 0000000..2d025af --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/enc_mcs_load.nss @@ -0,0 +1,50 @@ +#include "sfps_inc" +#include "mali_string_fns" + + +void OpenStorage(string sConTag) +{ object oContainer = GetObjectByTag(sConTag); + int iAmtLoaded; + string sPrefix = "PS_"; + + int iVersion = GetCampaignInt(sPrefix + sConTag, "PS_iVersion"); + if (iVersion == 2) + { iAmtLoaded = ReadPS(oContainer, sConTag, sPrefix); } + else + { iAmtLoaded = ReadPS(oContainer, sConTag, "ANNAKOLIA_PS_", 1); } +} + +void main() +{ + int iLoop = 1; + while (iLoop < 15) + { OpenStorage("ENC_MCS_" + IntToString(iLoop)); + iLoop++; + } + + iLoop = 1; + while (iLoop < 16) + { OpenStorage("ENC_SMS" + ((iLoop < 10) ? "_0" : "_") + IntToString(iLoop)); + iLoop++; + } + + object oWP = GetWaypointByTag("WP_FactionNPCs"); + object oSign = GetObjectByTag("MCS_FactionList"); + string sDelimiter = ""; + string sFactionList = ""; + + object oThingie = GetFirstObjectInArea(GetArea(oWP)); + while (GetIsObjectValid(oThingie)) + { if ( (GetDistanceBetween(oThingie, oWP) < 12.0f) && + (GetObjectType(oThingie) == OBJECT_TYPE_CREATURE) && + (TestStringAgainstPattern("Faction_**", GetTag(oThingie))) ) + { sFactionList = RestWords(GetTag(oThingie), "Faction_") + sDelimiter + sFactionList; + sDelimiter = ", "; + } + oThingie = GetNextObjectInArea(GetArea(oWP)); + } + + SetDescription(oSign, "These factions are currently set up for MCS:\n\n" + sFactionList + "."); + sFactionList = SearchAndReplace(sFactionList, " ", "") + ","; + SetLocalString(oSign, "sFactionList", sFactionList); +} diff --git a/cep_blueprints/_hak/prc_add_sb/enc_setarea_n.ncs b/cep_blueprints/_hak/prc_add_sb/enc_setarea_n.ncs new file mode 100644 index 0000000..dee7449 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/enc_setarea_n.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/enc_setarea_n.nss b/cep_blueprints/_hak/prc_add_sb/enc_setarea_n.nss new file mode 100644 index 0000000..8487906 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/enc_setarea_n.nss @@ -0,0 +1,5 @@ +void main() +{ + SetLocalString(OBJECT_SELF, "sEncounterArea", "N"); + SetLocalString(OBJECT_SELF, "sConvScript", "enc_custspawn"); +} diff --git a/cep_blueprints/_hak/prc_add_sb/enc_setarea_s.ncs b/cep_blueprints/_hak/prc_add_sb/enc_setarea_s.ncs new file mode 100644 index 0000000..cec6cf9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/enc_setarea_s.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/enc_setarea_s.nss b/cep_blueprints/_hak/prc_add_sb/enc_setarea_s.nss new file mode 100644 index 0000000..6344a37 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/enc_setarea_s.nss @@ -0,0 +1,5 @@ +void main() +{ + SetLocalString(OBJECT_SELF, "sEncounterArea", "S"); + SetLocalString(OBJECT_SELF, "sConvScript", "enc_custspawn"); +} diff --git a/cep_blueprints/_hak/prc_add_sb/enc_settokens.ncs b/cep_blueprints/_hak/prc_add_sb/enc_settokens.ncs new file mode 100644 index 0000000..731da8a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/enc_settokens.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/enc_settokens.nss b/cep_blueprints/_hak/prc_add_sb/enc_settokens.nss new file mode 100644 index 0000000..490e25d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/enc_settokens.nss @@ -0,0 +1,17 @@ +int StartingConditional() +{ + int iToken = 11050; + int iLoop = 1; + string sEncounterArea = GetLocalString(OBJECT_SELF, "sEncounterArea"); + string sSignTag = ""; + object oSign; + + while (iLoop < 13) + { sSignTag = "SIGN_ENC_" + IntToString(iLoop) + sEncounterArea; + oSign = GetObjectByTag(sSignTag); + SetCustomToken(iToken + iLoop, GetName(oSign)); + iLoop++; + } + + return TRUE; +} diff --git a/cep_blueprints/_hak/prc_add_sb/enc_sparkymenu.ncs b/cep_blueprints/_hak/prc_add_sb/enc_sparkymenu.ncs new file mode 100644 index 0000000..a060e07 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/enc_sparkymenu.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/enc_sparkymenu.nss b/cep_blueprints/_hak/prc_add_sb/enc_sparkymenu.nss new file mode 100644 index 0000000..cd2db8c --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/enc_sparkymenu.nss @@ -0,0 +1,113 @@ +#include "mali_string_fns" + + +string FormatV2String(string sEnc) +{ string sRed = ""; + string sGreen = ""; + string sFormat; + + if (TestStringAgainstPattern("OFF:**", sEnc)) + { sFormat = sRed; } + else + { sFormat = sGreen; } + sEnc = RestWords(sEnc, ","); + + string sHours = GetStringLowerCase(FirstWord(sEnc, ",")); + sEnc = RestWords(sEnc, ","); + + string sChance = GetStringLowerCase(FirstWord(sEnc, ",")); + sEnc = RestWords(sEnc, ","); + + string sType = GetStringLowerCase(FirstWord(sEnc, ",")); + sEnc = RestWords(sEnc, ","); + + string sParameter = GetStringLowerCase(FirstWord(sEnc, ",")); + sEnc = RestWords(sEnc, ","); + + if ((sType == "script") || (sType == "group") || (sType == "table")) + { sFormat += sType + " " + sParameter; } + else if ((sType == "trap") || (sType == "traps")) + { sFormat += sType; } + else if (sType == "copy") + { sFormat += sType + " " + FirstWord(sEnc, ",") + " from " + sParameter; } + else + { sFormat += FirstWord(sEnc, ",") + " " + sParameter; } + + sFormat += ", " + sChance + "%"; + if (sHours != "always") + { sFormat += " during " + sHours + " hours"; } + + return sFormat + ""; +} + +string FormatEncString(string sEnc) +{ string sChance; + string sResRef; + string sAmount; + string sV2; + string sRed = ""; + string sGreen = ""; + string sFormat; + + sV2 = GetStringLowerCase(FirstWord(sEnc, ",")); + if (sV2 == "v2" || sV2 == "off:v2") + { return FormatV2String(sEnc); } + + if (TestStringAgainstPattern("OFF:**", sEnc)) + { sFormat = sRed; + sEnc = RestWords(sEnc, "OFF:"); + } + else + { sFormat = sGreen; } + + if (FirstWord(sEnc, ":") == "runscript") + { sFormat += "Script: " + RestWords(sEnc, ":") + ""; } + else + { sChance = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + sResRef = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + sAmount = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + + sFormat += sAmount + " " + sResRef + ", " + sChance + "%" + ""; + } + + return sFormat; +} + +int StartingConditional() +{ + object oArea = GetArea(OBJECT_SELF); + int iDisabled = GetLocalInt(oArea, "iSparkyDisabled"); + string sToggle = iDisabled ? "Enable" : "Disable"; + SetCustomToken(11050, sToggle); + + int iTotalSpawns = GetLocalInt(OBJECT_SELF, "iConvTotal"); + int iPage = GetLocalInt(OBJECT_SELF, "iConvPage"); + int iPageLen = 10; + int iOffset = iPage * iPageLen; + int iBaseToken = 11051; + int iEnc; + string sNum; + string sEnc; + + int iLoop = 0; + + while ((iLoop < iPageLen) && (iLoop < iTotalSpawns)) + { iEnc = iLoop + iOffset + 1; + if (iEnc < 10) + { sNum = "0" + IntToString(iEnc); } + else + { sNum = IntToString(iEnc); } + sEnc = GetLocalString(oArea, "encounter_" + sNum); + + SetCustomToken(iBaseToken + iLoop, FormatEncString(SearchAndReplace(sEnc, " ", ""))); + iLoop++; + } + + SetLocalString(OBJECT_SELF, "sConvScript", "enc_sparkytog2"); + return TRUE; +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/enc_sparkytog.ncs b/cep_blueprints/_hak/prc_add_sb/enc_sparkytog.ncs new file mode 100644 index 0000000..a5cddb3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/enc_sparkytog.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/enc_sparkytog.nss b/cep_blueprints/_hak/prc_add_sb/enc_sparkytog.nss new file mode 100644 index 0000000..1b79177 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/enc_sparkytog.nss @@ -0,0 +1,11 @@ +void main() +{ + object oArea = GetArea(OBJECT_SELF); + int iDisabled = GetLocalInt(oArea, "iSparkyDisabled"); + + iDisabled = abs(iDisabled - 1); + SetLocalInt(oArea, "iSparkyDisabled", iDisabled); + + string sStatus = iDisabled ? "OFF" : "ON"; + SendMessageToPC(OBJECT_SELF, "Sparky Spawns are now " + sStatus); +} diff --git a/cep_blueprints/_hak/prc_add_sb/enc_sparkytog2.ncs b/cep_blueprints/_hak/prc_add_sb/enc_sparkytog2.ncs new file mode 100644 index 0000000..063284a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/enc_sparkytog2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/enc_sparkytog2.nss b/cep_blueprints/_hak/prc_add_sb/enc_sparkytog2.nss new file mode 100644 index 0000000..5ce8529 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/enc_sparkytog2.nss @@ -0,0 +1,28 @@ +#include "mali_string_fns" + +void main() +{ + object oArea = GetArea(OBJECT_SELF); + + int iChoice = GetLocalInt(OBJECT_SELF, "iConvChoice"); + int iPage = GetLocalInt(OBJECT_SELF, "iConvPage"); + int iPageLen = 10; + int iOffset = iPage * iPageLen; + + int iEnc = iChoice + iOffset; + string sNum; + + + if (iEnc < 10) + { sNum = "0" + IntToString(iEnc); } + else + { sNum = IntToString(iEnc); } + string sEnc = GetLocalString(oArea, "encounter_" + sNum); + + if (TestStringAgainstPattern("OFF:**", sEnc)) + { sEnc = RestWords(sEnc, "OFF:"); } + else + { sEnc = "OFF:" + sEnc; } + + SetLocalString(oArea, "encounter_" + sNum, sEnc); +} diff --git a/cep_blueprints/_hak/prc_add_sb/enc_sparkytotal.ncs b/cep_blueprints/_hak/prc_add_sb/enc_sparkytotal.ncs new file mode 100644 index 0000000..416286f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/enc_sparkytotal.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/enc_sparkytotal.nss b/cep_blueprints/_hak/prc_add_sb/enc_sparkytotal.nss new file mode 100644 index 0000000..9149500 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/enc_sparkytotal.nss @@ -0,0 +1,5 @@ +void main() +{ + int iTotal = GetLocalInt(OBJECT_SELF, "iSparkyTotal"); + SetLocalInt(OBJECT_SELF, "iConvTotal", iTotal); +} diff --git a/cep_blueprints/_hak/prc_add_sb/enc_spawnmenu.dlg b/cep_blueprints/_hak/prc_add_sb/enc_spawnmenu.dlg new file mode 100644 index 0000000..beaebf5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/enc_spawnmenu.dlg differ diff --git a/cep_blueprints/_hak/prc_add_sb/enc_swordclear.ncs b/cep_blueprints/_hak/prc_add_sb/enc_swordclear.ncs new file mode 100644 index 0000000..57c1607 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/enc_swordclear.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/enc_swordclear.nss b/cep_blueprints/_hak/prc_add_sb/enc_swordclear.nss new file mode 100644 index 0000000..4c9307d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/enc_swordclear.nss @@ -0,0 +1,48 @@ +void ClearCell(object oWP, float fDelay) +{ int iLoop = 1; + object oCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, oWP, iLoop); + + while (GetIsObjectValid(oCreature) && (GetDistanceBetween(oWP, oCreature) < 8.0)) + { DelayCommand(fDelay, DestroyObject(oCreature)); + iLoop++; + oCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, oWP, iLoop); + } +} + + +void main() +{ + object oSword = OBJECT_SELF; + string sCellGroup = GetStringRight(GetTag(oSword), 1); + object oSwordWP = GetWaypointByTag("WP_ENC_SWORD_" + sCellGroup); + string sWPTag = ""; + string sSignTag = ""; + object oWP; + object oSign; + location lWP; + effect eHolyStrike = EffectVisualEffect(VFX_FNF_STRIKE_HOLY); + effect eDisjunction = EffectVisualEffect(VFX_FNF_DISPEL_DISJUNCTION); + + + int iEnc = 1; + + ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eDisjunction, GetLocation(oSwordWP)); + + while (iEnc < 13) + { sWPTag = "WP_ENC_" + IntToString(iEnc) + sCellGroup; + oWP = GetWaypointByTag(sWPTag); + sSignTag = "SIGN_ENC_" + IntToString(iEnc) + sCellGroup; + oSign = GetObjectByTag(sSignTag); + lWP = GetLocation(oWP); + + SetName(oSign); + + DelayCommand(1.0f, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eHolyStrike, lWP)); + + ClearCell(oWP, 1.5f); + DelayCommand(3.0f, ClearCell(oWP, 0.0f)); + + iEnc++; + } +} + diff --git a/cep_blueprints/_hak/prc_add_sb/enc_tablespawn.ncs b/cep_blueprints/_hak/prc_add_sb/enc_tablespawn.ncs new file mode 100644 index 0000000..cb5986d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/enc_tablespawn.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/enc_tablespawn.nss b/cep_blueprints/_hak/prc_add_sb/enc_tablespawn.nss new file mode 100644 index 0000000..23fc74d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/enc_tablespawn.nss @@ -0,0 +1,40 @@ +#include "mali_string_fns" +#include "sparky_inc" + + +void main() +{ + object oPC = OBJECT_SELF; + object oArea = GetArea(oPC); + + int iChoice = GetLocalInt(OBJECT_SELF, "iConvChoice"); + int iPage = GetLocalInt(OBJECT_SELF, "iConvPage"); + int iPageLen = 10; + int iOffset = iPage * iPageLen; + + int iTable = iChoice + iOffset; + string sTableNames = GetLocalString(oArea, "sList_TableNames"); + + string sTableName = FetchWord(sTableNames, "|", iTable); + location lSpawn = GetLocalLocation(oPC, "lMCS_Spawn"); + vector vSpawn = GetPositionFromLocation(lSpawn); + string sSpawnPoint = "location:" + FloatToString(vSpawn.x) + "x" + FloatToString(vSpawn.y) + "y"; + sSpawnPoint = SearchAndReplace(sSpawnPoint, " ", ""); + int iDrop; + + SendMessageToPC(oPC, "Spawning from table " + sTableName + "..."); + + switch (GetLocalInt(oPC, "iENC_Table_SpawnPoint")) + { case 1: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea); break; + case 2: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, sSpawnPoint); break; + case 3: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, sSpawnPoint, "5.0"); break; + case 4: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, sSpawnPoint, "10.0"); break; + case 5: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, sSpawnPoint, "15.0"); break; + case 6: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, sSpawnPoint, "20.0"); break; + case 7: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, "random"); break; + default: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea); break; + } + + SetLocalString(oPC, "sENC_LastTableSpawn", sTableName); + SetLocalObject(oPC, "oENC_LastSpawn", oPC); +} diff --git a/cep_blueprints/_hak/prc_add_sb/fallingbrickpcbl.utp b/cep_blueprints/_hak/prc_add_sb/fallingbrickpcbl.utp new file mode 100644 index 0000000..d3510d5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/fallingbrickpcbl.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/fallingbricktrap.utt b/cep_blueprints/_hak/prc_add_sb/fallingbricktrap.utt new file mode 100644 index 0000000..4098661 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/fallingbricktrap.utt differ diff --git a/cep_blueprints/_hak/prc_add_sb/floodpcbl.utp b/cep_blueprints/_hak/prc_add_sb/floodpcbl.utp new file mode 100644 index 0000000..5aada17 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/floodpcbl.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/floodtrap.utt b/cep_blueprints/_hak/prc_add_sb/floodtrap.utt new file mode 100644 index 0000000..edd1fb9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/floodtrap.utt differ diff --git a/cep_blueprints/_hak/prc_add_sb/flowers.uti b/cep_blueprints/_hak/prc_add_sb/flowers.uti new file mode 100644 index 0000000..5d64d71 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/flowers.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/fly_control.dlg b/cep_blueprints/_hak/prc_add_sb/fly_control.dlg new file mode 100644 index 0000000..307afa7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/fly_control.dlg differ diff --git a/cep_blueprints/_hak/prc_add_sb/fly_start.ncs b/cep_blueprints/_hak/prc_add_sb/fly_start.ncs new file mode 100644 index 0000000..280015b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/fly_start.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/fly_start.nss b/cep_blueprints/_hak/prc_add_sb/fly_start.nss new file mode 100644 index 0000000..06e51e8 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/fly_start.nss @@ -0,0 +1,8 @@ +//NWScript: Barry_1066 - 10/22/2006 +#include "zep_inc_phenos" +void main() +{ +object oPC = GetPCSpeaker(); +object oFlyer = OBJECT_SELF; +zep_Fly( oFlyer, nNO_WING_CHANGE, fDEFAULT_SPEED, ""); +} diff --git a/cep_blueprints/_hak/prc_add_sb/fly_stop.ncs b/cep_blueprints/_hak/prc_add_sb/fly_stop.ncs new file mode 100644 index 0000000..4dc24c0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/fly_stop.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/fly_stop.nss b/cep_blueprints/_hak/prc_add_sb/fly_stop.nss new file mode 100644 index 0000000..1139309 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/fly_stop.nss @@ -0,0 +1,9 @@ +//NWScript: Barry_1066 - 10/22/2006 +#include "zep_inc_phenos" +void main() +{ +object oPC = GetPCSpeaker(); +object oFlyer = OBJECT_SELF; +zep_Fly_Land( oFlyer, TRUE, ""); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/fly_widget.uti b/cep_blueprints/_hak/prc_add_sb/fly_widget.uti new file mode 100644 index 0000000..c2e4f40 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/fly_widget.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/gelugonhide.uti b/cep_blueprints/_hak/prc_add_sb/gelugonhide.uti new file mode 100644 index 0000000..2c331ab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/gelugonhide.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/gelugonsting.uti b/cep_blueprints/_hak/prc_add_sb/gelugonsting.uti new file mode 100644 index 0000000..9ed8099 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/gelugonsting.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/glabrezuhide.uti b/cep_blueprints/_hak/prc_add_sb/glabrezuhide.uti new file mode 100644 index 0000000..dc2de8d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/glabrezuhide.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/hench_dla_horse.dlg b/cep_blueprints/_hak/prc_add_sb/hench_dla_horse.dlg new file mode 100644 index 0000000..767da09 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/hench_dla_horse.dlg differ diff --git a/cep_blueprints/_hak/prc_add_sb/hench_horse.dlg b/cep_blueprints/_hak/prc_add_sb/hench_horse.dlg new file mode 100644 index 0000000..e19bdfb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/hench_horse.dlg differ diff --git a/cep_blueprints/_hak/prc_add_sb/hench_pack.dlg b/cep_blueprints/_hak/prc_add_sb/hench_pack.dlg new file mode 100644 index 0000000..efdee63 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/hench_pack.dlg differ diff --git a/cep_blueprints/_hak/prc_add_sb/henchman_horse2.utc b/cep_blueprints/_hak/prc_add_sb/henchman_horse2.utc new file mode 100644 index 0000000..11e6c0c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/henchman_horse2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/henchman_horseau.utc b/cep_blueprints/_hak/prc_add_sb/henchman_horseau.utc new file mode 100644 index 0000000..45a7954 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/henchman_horseau.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/henchman_horsebk.utc b/cep_blueprints/_hak/prc_add_sb/henchman_horsebk.utc new file mode 100644 index 0000000..5330072 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/henchman_horsebk.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/henchman_horsenm.utc b/cep_blueprints/_hak/prc_add_sb/henchman_horsenm.utc new file mode 100644 index 0000000..203dbef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/henchman_horsenm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/henchman_horsewt.utc b/cep_blueprints/_hak/prc_add_sb/henchman_horsewt.utc new file mode 100644 index 0000000..bf1a81c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/henchman_horsewt.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/henchman_pkcamel.utc b/cep_blueprints/_hak/prc_add_sb/henchman_pkcamel.utc new file mode 100644 index 0000000..ab31837 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/henchman_pkcamel.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/henchman_pkhorse.utc b/cep_blueprints/_hak/prc_add_sb/henchman_pkhorse.utc new file mode 100644 index 0000000..e95486e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/henchman_pkhorse.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/henchman_pkox.utc b/cep_blueprints/_hak/prc_add_sb/henchman_pkox.utc new file mode 100644 index 0000000..d83a72c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/henchman_pkox.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/henchman_pkpony.utc b/cep_blueprints/_hak/prc_add_sb/henchman_pkpony.utc new file mode 100644 index 0000000..7e1ee80 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/henchman_pkpony.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/henchman_pony.utc b/cep_blueprints/_hak/prc_add_sb/henchman_pony.utc new file mode 100644 index 0000000..30309fb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/henchman_pony.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/henchman_ponybn.utc b/cep_blueprints/_hak/prc_add_sb/henchman_ponybn.utc new file mode 100644 index 0000000..17cbc13 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/henchman_ponybn.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/henchman_ponysp.utc b/cep_blueprints/_hak/prc_add_sb/henchman_ponysp.utc new file mode 100644 index 0000000..87395ac Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/henchman_ponysp.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/horse002.utc b/cep_blueprints/_hak/prc_add_sb/horse002.utc new file mode 100644 index 0000000..a4fc604 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/horse002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/horse_cepdm_dmnt.ncs b/cep_blueprints/_hak/prc_add_sb/horse_cepdm_dmnt.ncs new file mode 100644 index 0000000..5d84f49 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/horse_cepdm_dmnt.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/horse_cepdm_dmnt.nss b/cep_blueprints/_hak/prc_add_sb/horse_cepdm_dmnt.nss new file mode 100644 index 0000000..b1b98be --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/horse_cepdm_dmnt.nss @@ -0,0 +1,13 @@ +// Dismount +// Author : Barry_1066 +// Modified : 03/01/2008 + +#include "x3_inc_horse" + +void main() +{ + + HorseDismount(); + +} + diff --git a/cep_blueprints/_hak/prc_add_sb/horse_ckbag.ncs b/cep_blueprints/_hak/prc_add_sb/horse_ckbag.ncs new file mode 100644 index 0000000..1f4f87d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/horse_ckbag.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/horse_ckbag.nss b/cep_blueprints/_hak/prc_add_sb/horse_ckbag.nss new file mode 100644 index 0000000..0ca79f8 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/horse_ckbag.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: FileName horse_ckbag +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: Script Wizard +//:: Created On: 12/12/2006 2:06:13 PM +//::////////////////////////////////////////////// +int StartingConditional() +{ + + // Inspect local variables + if(!(GetLocalInt(GetPCSpeaker(), "PC_Saddle") == 1)) + return FALSE; + + return TRUE; +} diff --git a/cep_blueprints/_hak/prc_add_sb/horse_ckbag_out.ncs b/cep_blueprints/_hak/prc_add_sb/horse_ckbag_out.ncs new file mode 100644 index 0000000..461d1a6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/horse_ckbag_out.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/horse_ckbag_out.nss b/cep_blueprints/_hak/prc_add_sb/horse_ckbag_out.nss new file mode 100644 index 0000000..6f78280 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/horse_ckbag_out.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: FileName horse_ckbag_out +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: Script Wizard +//:: Created On: 12/12/2006 2:04:22 PM +//::////////////////////////////////////////////// +int StartingConditional() +{ + + // Inspect local variables + if(!(GetLocalInt(GetPCSpeaker(), "PC_Saddle") != 1)) + return FALSE; + + return TRUE; +} diff --git a/cep_blueprints/_hak/prc_add_sb/horse_closebags.ncs b/cep_blueprints/_hak/prc_add_sb/horse_closebags.ncs new file mode 100644 index 0000000..4d84d05 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/horse_closebags.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/horse_closebags.nss b/cep_blueprints/_hak/prc_add_sb/horse_closebags.nss new file mode 100644 index 0000000..2e690d4 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/horse_closebags.nss @@ -0,0 +1,25 @@ +//************************************* +// Filename: horse_closebags +/* + Created by Barry_1066 + 12/12/2006 +*/ +//************************************* + +void main() +{ + object oPC = GetPCSpeaker(); + object oBag = GetLocalObject(oPC,"PC_Bag"); + + object oItem = GetFirstItemInInventory(oBag); + while( oItem != OBJECT_INVALID ) + { + DestroyObject(oItem); + + oItem = GetNextItemInInventory(oBag); + } + + DestroyObject(oBag); + + DeleteLocalInt(oPC,"PC_Saddle"); +} diff --git a/cep_blueprints/_hak/prc_add_sb/horse_defaults.nss b/cep_blueprints/_hak/prc_add_sb/horse_defaults.nss new file mode 100644 index 0000000..09d93a0 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/horse_defaults.nss @@ -0,0 +1,21 @@ +//********************************* +// Filename: horse_defaults +/* + Created by Gregg Anderson + 11/11/2006 +*/ +//********************************* + +// This string can be changed as per server/mod. +const string CAMPAIGN_DATABASE = "hylis_pchest"; + +// This switch can be set to 0 to turn off the persistent saddle bag +// feature. Default set at 1 (turned on). +const int SADDLE_BAGS = 1; + +////////////////////////////////////////////////////////////////// +// The constants here can be modified to suit your particular campaign. +////////////////////////////////////////////////////////////////// +const string HORSE_HITCH_POST = "You cannot enter this building with your mount. It has been sent to the nearest Hitching Post."; +const string HORSE_DOOR = "You cannot enter this building with your mount. It will remain outside."; +const string HORSE_STABLES = "You must be in a stables to summon your mount"; diff --git a/cep_blueprints/_hak/prc_add_sb/horse_dismnt_dla.dlg b/cep_blueprints/_hak/prc_add_sb/horse_dismnt_dla.dlg new file mode 100644 index 0000000..84a0d97 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/horse_dismnt_dla.dlg differ diff --git a/cep_blueprints/_hak/prc_add_sb/horse_dismt.uti b/cep_blueprints/_hak/prc_add_sb/horse_dismt.uti new file mode 100644 index 0000000..93c2b84 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/horse_dismt.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/horse_dla_dismnt.ncs b/cep_blueprints/_hak/prc_add_sb/horse_dla_dismnt.ncs new file mode 100644 index 0000000..5d84f49 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/horse_dla_dismnt.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/horse_dla_dismnt.nss b/cep_blueprints/_hak/prc_add_sb/horse_dla_dismnt.nss new file mode 100644 index 0000000..e13324a --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/horse_dla_dismnt.nss @@ -0,0 +1,9 @@ +#include "x3_inc_horse" + +void main() +{ + + HorseDismount(); + +} + diff --git a/cep_blueprints/_hak/prc_add_sb/horse_dla_mount.ncs b/cep_blueprints/_hak/prc_add_sb/horse_dla_mount.ncs new file mode 100644 index 0000000..9fbda76 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/horse_dla_mount.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/horse_dla_mount.nss b/cep_blueprints/_hak/prc_add_sb/horse_dla_mount.nss new file mode 100644 index 0000000..f7bdae5 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/horse_dla_mount.nss @@ -0,0 +1,23 @@ +// script: horse_mount +// by Barry_1066 +// 02/10/2008 +// Included so DMs can mount DLA/Bioware horses + +#include "x3_inc_horse" +void main() +{ +object oPC = GetPCSpeaker(); +object oHorse = OBJECT_SELF; + +if(GetIsDM(oPC) || GetIsDMPossessed(oPC)) +{ + if (GetIsObjectValid(oHorse)) + AssignCommand(oPC, HorseMount(oHorse)); + if (GetItemPossessedBy(oPC, "horse_dismt2")== OBJECT_INVALID) + { + CreateItemOnObject("zep_horse_dismt", oPC); + } + + + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/horse_dm_mount.ncs b/cep_blueprints/_hak/prc_add_sb/horse_dm_mount.ncs new file mode 100644 index 0000000..b75e396 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/horse_dm_mount.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/horse_dm_mount.nss b/cep_blueprints/_hak/prc_add_sb/horse_dm_mount.nss new file mode 100644 index 0000000..99b0778 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/horse_dm_mount.nss @@ -0,0 +1,18 @@ +// Mount horse +// Author : Barry_1066 +// Modified : 03/01/2008 + +#include "x3_inc_horse" + +void main() +{ + object oPC = GetLocalObject(oPC,"ITEM_ACTIVATOR"); + object oHorse = OBJECT_SELF; + + if (HorseGetIsMounted(oPC)) return; + + if (GetIsObjectValid(oHorse)) + AssignCommand(oPC, HorseMount(oHorse)); + + +} diff --git a/cep_blueprints/_hak/prc_add_sb/horse_dmount.ncs b/cep_blueprints/_hak/prc_add_sb/horse_dmount.ncs new file mode 100644 index 0000000..b5c29ad Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/horse_dmount.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/horse_dmount.nss b/cep_blueprints/_hak/prc_add_sb/horse_dmount.nss new file mode 100644 index 0000000..50abc77 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/horse_dmount.nss @@ -0,0 +1,47 @@ +// script: horse_mount +// by Barry_1066 +// 02/10/2008 +// Variable PONY_ID string resref (resref of the horse to be spawned) +// This variable is placed on the horse/pony blueprint. +#include "zep_inc_phenos" +#include "x3_inc_horse" +#include "nw_i0_generic" +void main() +{ +object oPC=OBJECT_SELF; +string sResRef = GetLocalString(oPC,"PONY_ID"); + zep_Dismount (oPC, "horse_dismt"); + SetLocalInt(oPC,"bX3_IS_MOUNTED",FALSE); + DeleteLocalString(oPC,"X3_HORSE_SCRIPT_DISMOUNT"); + SetLocalInt(oPC, "VAR_HORSEMOUNT", 0);//horselord class variable + + object oTarget; + location lPc = GetLocation(oPC); + location lWyrmling = GetItemActivatedTargetLocation(); +string sString = GetName(OBJECT_SELF); + + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, sResRef, lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + // SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); + SetName (oWyrmling, sString + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPC, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPC, ActionSpeakString("Invalid Horse/Pony")); + }/* end else (valid owyrmling) */ + +//remove horse support DLA Style +object oRider=OBJECT_SELF; + +DelayCommand(1.0, HORSE_SupportOriginalSpeed(oRider)); +DelayCommand(1.0, HORSE_SupportRemoveMountedSkillDecreases(oRider)); +DelayCommand(1.0, HORSE_SupportRemoveACBonus(oRider)); +DelayCommand(1.0, HORSE_SupportRemoveHPBonus(oRider)); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/horse_include.nss b/cep_blueprints/_hak/prc_add_sb/horse_include.nss new file mode 100644 index 0000000..388ffc7 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/horse_include.nss @@ -0,0 +1,528 @@ +//********************************* +// Filename: horse_include +/* + Based on Rideable Horses by + DG & NIC/AB rideables + + Created by Gregg Anderson + 11 / 2 / 2005 + + Version 1.0b FINAL - 11/11/06 + + Included as part of the Hylis PW Server +*/ +//** INCLUDES ********************* +#include "zep_inc_phenos" +#include "x0_i0_position" +#include "horse_defaults" + +//** FUNCTION DECLARATIONS ******** +void GPA_ActivateHorseIcon(object oPC, object oItem); +void GPA_SummonHorse(object oPC, object oItem); +void GPA_MountHorse(object oPC, object oMount); +void GPA_DismountHorse(object oPC); +void GPA_FallOnGround(object oPC); +int GPA_GetIsHench(object oPC, object oHorse); +void GPA_OnRest(object oPC); +void GPA_HorseOCE(object oPC); +void GPA_HorseOCL(object oPC); +object GPA_InitializeIcon(object oPC, object oIcon); +void GPA_HorseDiedInventoryMove(object oHorse); +void GPA_OnActivate(object oPC,object oItem); +object GPA_Dismount(object oPC, string sRemoveItem_ResRef=""); +void GPA_OnAreaTransition(object oPC,object oMount); +void GPA_HorseHench(object oPC); +int GetNumHenchmen(object oPC); + + +//** FUNCTION DEFINITIONS ******** + +////////////////////////////////////////////////////////////////// +void GPA_ActivateHorseIcon(object oPC, object oItem) +/* + A horse or pony may only be summoned up if the PC activating + a horses corresponding Horse Icon is within a designated + stables area. There are three ways to trigger this response: + 1. Put a variable on the area called "stables" and set it to 1. + 2. Place a Trigger that the PC can enter. Found in the custom + trigger pallette. + 3. Have a DM give a PC the Horse Summon Override. This is useful + in the cases where there was a crash and PCs are no longer + near a stables area. +*/ +////////////////////////////////////////////////////////////////// +{ + int nOverride; + + if(GetItemPossessedBy(oPC,"horseoverride")!=OBJECT_INVALID) + nOverride = 1; + + if((GetLocalInt(GetArea(oPC),"stables")==1)||(GetLocalInt(oPC,"stables")==1)||(nOverride==1)) + GPA_SummonHorse(oPC, oItem); + else + SendMessageToPC(oPC,HORSE_STABLES); +} // end function + + +////////////////////////////////////////////////////////////////// +void GPA_SummonHorse(object oPC, object oIcon) +////////////////////////////////////////////////////////////////// +{ + string sIconTag = GetTag(oIcon); + string sResRef = GetStringLeft(sIconTag,12) + "0"; + + int nHorseSummon = GetLocalInt(oIcon,"HorseSummon"); + + if(nHorseSummon == 0) + { + int nMaxHenchmen = GetMaxHenchmen(); + int i; + for (i=1; i<= nMaxHenchmen; i++) + { + if (GetTag(GetHenchman(oPC,i)) == sIconTag) + return; + } // end for loop + + location lPC = GetLocation(oPC); + int nObjectType = OBJECT_TYPE_CREATURE; + object oHorse = CreateObject(nObjectType, sResRef, lPC, TRUE, sIconTag); + + SetLocalObject(oPC,"pc_mount",oHorse); + SetLocalInt(oIcon,"HorseSummon",1); + AddHenchman(oPC, oHorse); + } +} // end function + + +////////////////////////////////////////////////////////////////// +void GPA_MountHorse(object oPC, object oMount) +////////////////////////////////////////////////////////////////// +{ + object oRightHand = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC); + object oLeftHand = GetItemInSlot(INVENTORY_SLOT_LEFTHAND,oPC); + + AssignCommand(oPC,ActionUnequipItem(oRightHand)); + AssignCommand(oPC,ActionUnequipItem(oLeftHand)); + + float fWalk_Speed; + int nAppearance = GetAppearanceType(oMount); + + switch (nAppearance) + { + case 1855: + fWalk_Speed = fSPEED_PONY_SPOT; + break; + case 1856: + fWalk_Speed = fSPEED_PONY_BROWN; + break; + case 1857: + fWalk_Speed = fSPEED_PONY_LTBROWN; + break; + case 1858: + fWalk_Speed = fSPEED_HORSE_BROWN; + break; + case 1859: + fWalk_Speed = fSPEED_HORSE_WHITE; + break; + case 1860: + fWalk_Speed = fSPEED_HORSE_BLACK; + break; + case 1861: + fWalk_Speed = fSPEED_HORSE_NIGHTMARE; + break; + case 1862: + fWalk_Speed = fSPEED_AURENTHIL; + break; + default: + fWalk_Speed = 2.2; + break; + } + + zep_Mount(oPC, oMount, 0, fWalk_Speed, "dismount"); + RemoveHenchman(oPC, oMount); +} // end function + + +////////////////////////////////////////////////////////////////// +void GPA_DismountHorse(object oPC) +////////////////////////////////////////////////////////////////// +{ + object oMount = GPA_Dismount(oPC, "dismount"); + + if(oMount != OBJECT_INVALID) + { + string sIconTag = GetTag(oMount); + string sResRef = GetStringLeft(sIconTag,12) + "0"; + + RemoveHenchman(oPC,oMount); + AssignCommand(oMount,SetIsDestroyable(TRUE,FALSE,FALSE)); + DestroyObject(oMount); + DeleteLocalObject(oPC,"pc_mount"); + + int nObjectType = OBJECT_TYPE_CREATURE; + location locPC = GetLocation(oPC); + object oHorse = CreateObject(nObjectType, sResRef, locPC, TRUE, sIconTag); + + SetLocalObject(oPC,"pc_mount",oHorse); + AddHenchman(oPC,oHorse); + } +} // end function + + +////////////////////////////////////////////////////////////////// +int GPA_GetIsHench(object oPC, object oHorse) +////////////////////////////////////////////////////////////////// +{ + int nMaxHenchmen = GetMaxHenchmen(); + int i; + for (i==1;i<=nMaxHenchmen; i++) + { + if (GetHenchman(oPC,i) == oHorse) + return TRUE; + } // end for + + return FALSE; +} // end function + + +////////////////////////////////////////////////////////////////// +void GPA_OnRest(object oPC) +// Wrapper Function for the On Rest Event, add additional +// actions you want on dismount here. +////////////////////////////////////////////////////////////////// +{ + GPA_DismountHorse(oPC); +} // end function + + +////////////////////////////////////////////////////////////////// +void GPA_HorseOCE(object oPC) // On Client Enter +////////////////////////////////////////////////////////////////// +{ + GPA_DismountHorse(oPC); +} // end function + + + +////////////////////////////////////////////////////////////////// +void GPA_ClearHorse(object oPC, object oHorse) +////////////////////////////////////////////////////////////////// +{ + DeleteLocalObject(oPC,"pc_mount"); + AssignCommand(oHorse,SetIsDestroyable(TRUE,FALSE,FALSE)); + DestroyObject(oHorse); + + object oBag = GetLocalObject(oPC,"PC_Bag"); + if(oBag != OBJECT_INVALID) + { + DeleteLocalInt(oPC, "PC_Saddle"); + + object oItem = GetFirstItemInInventory(oBag); + while( oItem != OBJECT_INVALID ) + { + DestroyObject(oItem); + + oItem = GetNextItemInInventory(oBag); + } + + DestroyObject(oBag); + } +} + + +////////////////////////////////////////////////////////////////// +void GPA_HorseOCL(object oPC) +////////////////////////////////////////////////////////////////// +{ + string sTag; + + object oIcon = GetFirstItemInInventory(oPC); + while(oIcon != OBJECT_INVALID) + { + sTag = GetTag(oIcon); + + if((FindSubString(sTag,"blckhorse")!=-1)||(FindSubString(sTag,"brwnhorse") != -1)|| + (FindSubString(sTag,"whtehorse") != -1)||(FindSubString(sTag,"whitepony") != -1)|| + (FindSubString(sTag,"pintopony") != -1)||(FindSubString(sTag,"brownpony") != -1)|| + (FindSubString(sTag,"aurenthil") != -1)||(FindSubString(sTag,"nightmare") != -1)) + { + DeleteLocalInt(oIcon,"HorseSummon"); + } + + oIcon = GetNextItemInInventory(oPC); + } // end while + + object oHorse = GetLocalObject(oPC,"pc_mount"); + if(oHorse != OBJECT_INVALID) // Horse In Party + { + RemoveHenchman(oPC,oHorse); + GPA_ClearHorse(oPC, oHorse); + } + else + { + oHorse = GPA_Dismount(oPC,"dismount"); + if(oHorse != OBJECT_INVALID) // Mounted + { + RemoveHenchman(oPC,oHorse); + GPA_ClearHorse(oPC,oHorse); + } + else // Not Mounted, Not In Party + { + oHorse = GetObjectByTag(sTag,1); + if(GetObjectType(oHorse) == OBJECT_TYPE_CREATURE) + { + GPA_ClearHorse(oPC,oHorse); + } + else + { + oHorse = GetObjectByTag(sTag,2); + if(GetObjectType(oHorse) == OBJECT_TYPE_CREATURE) + { + GPA_ClearHorse(oPC,oHorse); + } + } + } + } +} // end function + + +////////////////////////////////////////////////////////////////// +object GPA_InitializeIcon(object oPC, object oItem) +////////////////////////////////////////////////////////////////// +{ + if(!GetIsPC(oPC)) + return OBJECT_INVALID; + + string sResRef = GetResRef(oItem); + + int nIndex = GetCampaignInt("horses", sResRef); + nIndex = nIndex +1; + + string sIndex; + string sIndex1 = IntToString(nIndex); + + if(nIndex <= 9) + sIndex = "000" + sIndex1; + else if(nIndex <= 99) + sIndex = "00" + sIndex1; + else if(nIndex <= 999) + sIndex = "0" + sIndex1; + else if(nIndex <= 9999) + sIndex = sIndex1; + else + { + SendMessageToPC(oPC,"Horse index out of range!"); + return OBJECT_INVALID; + } + + string sNewTag = sResRef + sIndex; + location lLoc = GetLocation(oPC); + + object oIcon = CopyObject(oItem,lLoc,oPC,sNewTag); + DestroyObject(oItem); + SetCampaignInt("horses", sResRef, nIndex); + + return oIcon; +} // end function + + +////////////////////////////////////////////////////////////////// +void GPA_HorseDiedInventoryMove(object oHorse) +////////////////////////////////////////////////////////////////// +{ + location lLoc = GetLocation(oHorse); + int nObjectType = OBJECT_TYPE_PLACEABLE; + string sResRef = "mountinventory"; + + object oBag = CreateObject(nObjectType, sResRef, lLoc); + + object oItem = GetFirstItemInInventory(oHorse); + while (GetIsObjectValid(oItem) == TRUE) + { + if(GetStringLeft(GetTag(oItem),2)!="pl") + CopyItem(oItem,oBag); + + oItem = GetNextItemInInventory(GetFirstPC()); + } +} // end function + + +////////////////////////////////////////////////////////////////// +void GPA_OnActivate(object oPC,object oItem) +////////////////////////////////////////////////////////////////// +{ + string sTag = GetTag(oItem); + + if((sTag == "blckhorsehvy")||(sTag == "blckhorselig")||(sTag == "blckhorserid")|| + (sTag == "brwnhorsehvy")||(sTag == "brwnhorselig")||(sTag == "brwnhorserid")|| + (sTag == "whtehorsehvy")||(sTag == "whtehorselig")||(sTag == "whtehorserid")|| + (sTag == "whiteponystd")||(sTag == "whiteponydwr")||(sTag == "whiteponywar")|| + (sTag == "pintoponystd")||(sTag == "pintoponydwr")||(sTag == "pintoponywar")|| + (sTag == "brownponystd")||(sTag == "brownponydwr")||(sTag == "brownponywar")|| + (sTag == "aurenthilstd")||(sTag == "nightmarestd")) + { + object oIcon = GPA_InitializeIcon(oPC, oItem); + if (oIcon != OBJECT_INVALID) + GPA_ActivateHorseIcon(oPC, oIcon); + return; + } + + if ((GetSubString(sTag,4,5) == "horse")||(GetSubString(sTag,5,4) == "pony")) + GPA_ActivateHorseIcon(oPC, oItem); + + if(sTag == "dismount") + GPA_DismountHorse(oPC); +} // end function + + +////////////////////////////////////////////////////////////////// +object GPA_Dismount(object oPC, string sRemoveItem_ResRef="") +// This is a modified version of zep_Dismount, where the mount +// obect is returned as a passed variable. +////////////////////////////////////////////////////////////////// +{ + //Checks\\ + if (GetObjectType(oPC)!=OBJECT_TYPE_CREATURE){return OBJECT_INVALID;} + int nPhenotype_C = GetPhenoType(oPC); + if (nPhenotype_C nMAX_PHENOTYPE_STANDARD){DelayCommand(1.5,SetPhenoType(2,oPC));} + else {DelayCommand(1.5,SetPhenoType(0,oPC));} + + //speed: + zep_UnWalk_Speed(oPC); + + //Restore Mount + object oMount = GetLocalObject(oPC, "oCEP_Mount_C"); //thus either object invalid or the mount + effect eFX; + float fDelay=3.0; + if (GetIsObjectValid(oMount)==TRUE) + { + x1st_Effect_RemoveType(oMount,EFFECT_TYPE_CUTSCENEGHOST ); + + AssignCommand(oMount, ActionJumpToObject(oPC,FALSE)); + DelayCommand(2.0, x1st_Effect_RemoveType(oMount,EFFECT_TYPE_VISUALEFFECT)); + DelayCommand(3.0,DeleteLocalObject(oPC,"oCEP_Mount_C")); + } + + object oItem; + ////////////////ITEM\\\\\\\\\\\\\\ + if (sRemoveItem_ResRef!="") + { + oItem = o1st_GetItemInInventory(oPC, "",sRemoveItem_ResRef); + DestroyObject(oItem); + } + + return oMount; +} + + +////////////////////////////////////////////////////////////////// +void GPA_OnAreaTransition(object oPC,object oMount) +////////////////////////////////////////////////////////////////// +{ + string sIconTag = GetTag(oMount); + string sResRef = GetStringLeft(sIconTag,12) + "0"; + + RemoveHenchman(oPC,oMount); + AssignCommand(oMount,SetIsDestroyable(TRUE,FALSE,FALSE)); + DestroyObject(oMount); + + object oHitch = GetNearestObjectByTag("WP_Hitch"); + + if(oHitch == OBJECT_INVALID) + oHitch = GetNearestObjectByTag("hitchingpost"); + + object oDoor = GetNearestObject(OBJECT_TYPE_DOOR,oPC); + + location locHitch; + if (oHitch != OBJECT_INVALID) + { + locHitch = GetLocation(oHitch); + FloatingTextStringOnCreature(HORSE_HITCH_POST,oPC,FALSE); + } + else + { + locHitch = GetBehindLocation(oDoor); + FloatingTextStringOnCreature(HORSE_DOOR,oPC,FALSE); + } + + int nObjectType = OBJECT_TYPE_CREATURE; + object oHorse = CreateObject(nObjectType, sResRef, locHitch, TRUE, sIconTag); + float fFacing = GetFacing(oHitch); + AssignCommand(oHorse,SetFacing(fFacing)); + DeleteLocalObject(oPC,"pc_mount"); +} + + +////////////////////////////////////////////////////////////////// +void GPA_MoveHench(object oPC, object oHench) +////////////////////////////////////////////////////////////////// +{ + object oHitch = GetNearestObjectByTag("WP_Hitch"); + if(oHitch == OBJECT_INVALID) + oHitch = GetNearestObjectByTag("hitchingpost"); + + object oDoor = GetNearestObject(OBJECT_TYPE_DOOR,oPC); + + location locHitch; + if (oHitch != OBJECT_INVALID) + { + locHitch = GetLocation(oHitch); + FloatingTextStringOnCreature(HORSE_HITCH_POST,oPC,FALSE); + } + else + { + locHitch = GetBehindLocation(oDoor); + FloatingTextStringOnCreature(HORSE_DOOR,oPC,FALSE); + } + + string sIconTag = GetTag(oHench); + string sResRef = GetStringLeft(sIconTag,12) + "0"; + int nObjectType = OBJECT_TYPE_CREATURE; + + RemoveHenchman(oPC,oHench); + AssignCommand(oHench,SetIsDestroyable(TRUE,FALSE,FALSE)); + DestroyObject(oHench); + + object oHorse = CreateObject(nObjectType, sResRef, locHitch, TRUE, sIconTag); + DeleteLocalObject(oPC,"pc_mount"); +} + + +////////////////////////////////////////////////////////////////// +void GPA_HorseHench(object oPC) +////////////////////////////////////////////////////////////////// +{ + object oHench; + int nAppearance; + + int nMaxHenchmen = GetMaxHenchmen(); + int i; + for (i==1;i<=nMaxHenchmen; i++) + { + oHench = GetHenchman(oPC,i); + nAppearance = GetAppearanceType(oHench); + + if((nAppearance > 1854)&&(nAppearance < 1862)) + GPA_MoveHench(oPC, oHench); + } // end for +} // end function + + +////////////////////////////////////////////////////////////////// +int GetNumHenchmen(object oPC) +////////////////////////////////////////////////////////////////// +{ + if (!GetIsPC(oPC)) return -1; + + int nLoop, nCount; + for (nLoop=1; nLoop<=GetMaxHenchmen(); nLoop++) + { + if (GetIsObjectValid(GetHenchman(oPC, nLoop))) + nCount++; + } + + return nCount; +} // end function diff --git a/cep_blueprints/_hak/prc_add_sb/horse_magmt.dlg b/cep_blueprints/_hak/prc_add_sb/horse_magmt.dlg new file mode 100644 index 0000000..2f24a42 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/horse_magmt.dlg differ diff --git a/cep_blueprints/_hak/prc_add_sb/horse_management.uti b/cep_blueprints/_hak/prc_add_sb/horse_management.uti new file mode 100644 index 0000000..ae2ad57 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/horse_management.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/horse_mount.ncs b/cep_blueprints/_hak/prc_add_sb/horse_mount.ncs new file mode 100644 index 0000000..25c9ef5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/horse_mount.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/horse_mount.nss b/cep_blueprints/_hak/prc_add_sb/horse_mount.nss new file mode 100644 index 0000000..20a964b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/horse_mount.nss @@ -0,0 +1,58 @@ +// script: horse_mount +// by Barry_1066 +// 02/10/2008 +// Variable PONY_ID string resref (resref of the horse to be spawned) +// This variable is placed on the horse/pony blueprint. +#include "zep_inc_phenos" +#include "x3_inc_horse" +void main() +{ +object oPC=OBJECT_SELF; +object oMount=GetSpellTargetObject(); + + if (GetMaster(oMount) != oPC) + { +FloatingTextStringOnCreature("This Horse Belongs to someone else", oPC); + } + +////////////////////////////////////////////////////// +// Do NOT Mount if the monut belongs to another // +///////////////////////////////////////////////////// + if (GetMaster(oMount) == oPC) +///////////////////////////////////////////////////// +{ +string sResRef = GetLocalString(oMount,"PONY_ID"); +SetLocalString(oPC, "PONY_ID", sResRef); +//zep_Mount(oPC, oMount, 0, fDEFAULT_SPEED, "horse_dismt"); +zep_Mount(oPC, oMount, 0, 0.0, "horse_dismt"); // removes horse speed +SetLocalInt(oPC,"bX3_IS_MOUNTED",TRUE); +SetLocalString(oPC, "X3_HORSE_SCRIPT_DISMOUNT", "horse_dmount"); +SetLocalInt(oPC, "VAR_HORSEMOUNT", 1);//horselord class variable + +//apply horse support DLA Style +object oRider=OBJECT_SELF; +object oHorse; +oHorse=GetHenchman(oPC); + +//HORSE_SupportIncreaseSpeed(oRider,oHorse); +//HORSE_SupportAdjustMountedArcheryPenalty(oRider); +//HORSE_SupportApplyACBonus(oRider,oHorse); +//HORSE_SupportApplyHPBonus(oRider,oHorse); +//HORSE_SupportApplyMountedSkillDecreases(object oRider) +DelayCommand(1.0, HORSE_SupportIncreaseSpeed(oRider,oHorse)); +DelayCommand(1.0, HORSE_SupportApplyMountedSkillDecreases(oRider)); +DelayCommand(1.0, HORSE_SupportAdjustMountedArcheryPenalty(oRider)); +DelayCommand(1.0, HORSE_SupportApplyACBonus(oRider,oHorse)); +DelayCommand(1.0, HORSE_SupportApplyHPBonus(oRider,oHorse)); + +//Removes horse as henchman while mounted +object oTarget; +oTarget=GetHenchman(oPC); + +RemoveHenchman(oPC, oTarget); + +DestroyObject(oTarget); +} + +} + diff --git a/cep_blueprints/_hak/prc_add_sb/horse_mount_dm.ncs b/cep_blueprints/_hak/prc_add_sb/horse_mount_dm.ncs new file mode 100644 index 0000000..6e1b9a1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/horse_mount_dm.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/horse_mount_dm.nss b/cep_blueprints/_hak/prc_add_sb/horse_mount_dm.nss new file mode 100644 index 0000000..7f63c4f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/horse_mount_dm.nss @@ -0,0 +1,36 @@ +// script: horse_mount +// by Barry_1066 +// 02/10/2008 +// Included so DMs can mount CEP horses/ponies +#include "zep_inc_phenos" +#include "x3_inc_horse" +void main() +{ +object oPC = GetPCSpeaker(); +object oMount = OBJECT_SELF; +//if(GetIsDM(oPC)) +if(GetIsDM(oPC) || GetIsDMPossessed(oPC)) +{ +string sResRef = GetLocalString(oMount,"PONY_ID"); +SetLocalString(oPC, "PONY_ID", sResRef); +zep_Mount(oPC, oMount, 0, fDEFAULT_SPEED, "horse_dismt"); +//apply horse support DLA Style +object oRider=OBJECT_SELF; +object oHorse; +oHorse=GetHenchman(oPC); + +DelayCommand(1.0, HORSE_SupportIncreaseSpeed(oRider,oHorse)); +DelayCommand(1.0, HORSE_SupportApplyMountedSkillDecreases(oRider)); +DelayCommand(1.0, HORSE_SupportAdjustMountedArcheryPenalty(oRider)); +DelayCommand(1.0, HORSE_SupportApplyACBonus(oRider,oHorse)); +DelayCommand(1.0, HORSE_SupportApplyHPBonus(oRider,oHorse)); + +//Removes horse as henchman while mounted +object oTarget; +oTarget=GetHenchman(oPC); + +RemoveHenchman(oPC, oTarget); + +DestroyObject(oTarget); +} +} diff --git a/cep_blueprints/_hak/prc_add_sb/horse_name.ncs b/cep_blueprints/_hak/prc_add_sb/horse_name.ncs new file mode 100644 index 0000000..a9b8b79 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/horse_name.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/horse_name.nss b/cep_blueprints/_hak/prc_add_sb/horse_name.nss new file mode 100644 index 0000000..84ca4a7 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/horse_name.nss @@ -0,0 +1,14 @@ +//Put this on action taken in the conversation editor +void main() +{ + +object oPC = GetPCSpeaker(); + +object oTarget; +object oItem; +oTarget = oPC; +object oWyrmling; +oWyrmling=GetHenchman(oPC); +SetName (oTarget, GetName(GetItemPossessedBy(oTarget, "Name_Horse")) + " the " + " Pony"); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/horse_openbags.ncs b/cep_blueprints/_hak/prc_add_sb/horse_openbags.ncs new file mode 100644 index 0000000..ed93426 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/horse_openbags.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/horse_openbags.nss b/cep_blueprints/_hak/prc_add_sb/horse_openbags.nss new file mode 100644 index 0000000..cdcea31 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/horse_openbags.nss @@ -0,0 +1,26 @@ +//************************************* +// Filename: horse_openbags +/* + Created by Barry_1066 + 12/12/2006 +*/ +//************************************* + +void main() +{ + object oPC = GetPCSpeaker(); + int nObjectType = OBJECT_TYPE_PLACEABLE; + string sResRef = "saddlebag"; + string sHorseTag2 = GetName(OBJECT_SELF); + string sHorseTag = (GetStringLeft(sHorseTag2, 16)); + string sNewTag = sHorseTag + "_sb"; + + location lLoc = GetLocation(oPC); + + object oBag = CreateObject(nObjectType, sResRef, lLoc, FALSE, sNewTag); + + SetLocalObject(oPC,"PC_Bag",oBag); + SetLocalInt(oPC, "PC_Saddle",1); +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/horse_remove.ncs b/cep_blueprints/_hak/prc_add_sb/horse_remove.ncs new file mode 100644 index 0000000..09035be Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/horse_remove.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/horse_remove.nss b/cep_blueprints/_hak/prc_add_sb/horse_remove.nss new file mode 100644 index 0000000..edf5ced --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/horse_remove.nss @@ -0,0 +1,16 @@ +/* script to remove and destroy henchmen */ + +//Put this on action taken in the conversation editor +void main() +{ + +object oPC = GetPCSpeaker(); + +object oTarget; +oTarget=GetHenchman(oPC); + +RemoveHenchman(oPC, oTarget); + +DestroyObject(oTarget); + +} diff --git a/cep_blueprints/_hak/prc_add_sb/horse_unsummon.uti b/cep_blueprints/_hak/prc_add_sb/horse_unsummon.uti new file mode 100644 index 0000000..78937eb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/horse_unsummon.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/it_crewps006.uti b/cep_blueprints/_hak/prc_add_sb/it_crewps006.uti new file mode 100644 index 0000000..cc9dbc3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/it_crewps006.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/it_crewpsp029.uti b/cep_blueprints/_hak/prc_add_sb/it_crewpsp029.uti new file mode 100644 index 0000000..de570ce Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/it_crewpsp029.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/it_nighthoof001.uti b/cep_blueprints/_hak/prc_add_sb/it_nighthoof001.uti new file mode 100644 index 0000000..74e1649 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/it_nighthoof001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/it_nighthoofcau1.uti b/cep_blueprints/_hak/prc_add_sb/it_nighthoofcau1.uti new file mode 100644 index 0000000..f227be4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/it_nighthoofcau1.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/jousthorse002.utc b/cep_blueprints/_hak/prc_add_sb/jousthorse002.utc new file mode 100644 index 0000000..37211e2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/jousthorse002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/jousthorse003.utc b/cep_blueprints/_hak/prc_add_sb/jousthorse003.utc new file mode 100644 index 0000000..52e2693 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/jousthorse003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/jousthorse004.utc b/cep_blueprints/_hak/prc_add_sb/jousthorse004.utc new file mode 100644 index 0000000..ff0cca5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/jousthorse004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/lance.uti b/cep_blueprints/_hak/prc_add_sb/lance.uti new file mode 100644 index 0000000..4db7686 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/lance.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/loadscreens.2da b/cep_blueprints/_hak/prc_add_sb/loadscreens.2da new file mode 100644 index 0000000..32e5dc9 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/loadscreens.2da @@ -0,0 +1,337 @@ +2DA V2.0 + + Label ScriptingName BMPResRef TileSet StrRef +0 Random **** **** **** 63402 +1 UserDefined **** **** **** **** +2 City01 AREA_TRANSITION_CITY_01 LS_TCN_01 TCN01 68545 +3 City02 AREA_TRANSITION_CITY_02 LS_TCN_02 TCN01 68546 +4 City03 AREA_TRANSITION_CITY_03 LS_TCN_03 TCN01 68547 +5 City04 AREA_TRANSITION_CITY_04 LS_TCN_04 TCN01 68548 +6 City05 AREA_TRANSITION_CITY_05 LS_TCN_05 TCN01 68549 +7 Crypt01 AREA_TRANSITION_CRYPT_01 LS_TDC_01 TDC01 68551 +8 Crypt02 AREA_TRANSITION_CRYPT_02 LS_TDC_02 TDC01 68552 +9 Crypt03 AREA_TRANSITION_CRYPT_03 LS_TDC_03 TDC01 68553 +10 Crypt04 AREA_TRANSITION_CRYPT_04 LS_TDC_04 TDC01 68554 +11 Crypt05 AREA_TRANSITION_CRYPT_05 LS_TDC_05 TDC01 68550 +12 Dungeon01 AREA_TRANSITION_DUNGEON_01 LS_TDE_01 TDE01 68555 +13 Dungeon02 AREA_TRANSITION_DUNGEON_02 LS_TDE_02 TDE01 68556 +14 Dungeon03 AREA_TRANSITION_DUNGEON_03 LS_TDE_03 TDE01 68557 +15 Dungeon04 AREA_TRANSITION_DUNGEON_04 LS_TDE_04 TDE01 68558 +16 Dungeon05 AREA_TRANSITION_DUNGEON_05 LS_TDE_05 TDE01 68559 +17 Dungeon06 AREA_TRANSITION_DUNGEON_06 LS_TDE_06 TDE01 68560 +18 Dungeon07 AREA_TRANSITION_DUNGEON_07 LS_TDE_07 TDE01 68561 +19 Dungeon08 AREA_TRANSITION_DUNGEON_08 LS_TDE_08 TDE01 68562 +20 Mines01 AREA_TRANSITION_MINES_01 LS_TDM_01 TDM01 68563 +21 Mines02 AREA_TRANSITION_MINES_02 LS_TDM_02 TDM01 68564 +22 Mines03 AREA_TRANSITION_MINES_03 LS_TDM_03 TDM01 68565 +23 Mines04 AREA_TRANSITION_MINES_04 LS_TDM_04 TDM01 68566 +24 Mines05 AREA_TRANSITION_MINES_05 LS_TDM_05 TDM01 68567 +25 Mines06 AREA_TRANSITION_MINES_06 LS_TDM_06 TDM01 68568 +26 Mines07 AREA_TRANSITION_MINES_07 LS_TDM_07 TDM01 68569 +27 Mines08 AREA_TRANSITION_MINES_08 LS_TDM_08 TDM01 68570 +28 Mines09 AREA_TRANSITION_MINES_09 LS_TDM_09 TDM01 68571 +29 Sewer01 AREA_TRANSITION_SEWER_01 LS_TDS_01 TDS01 68572 +30 Sewer02 AREA_TRANSITION_SEWER_02 LS_TDS_02 TDS01 68573 +31 Sewer03 AREA_TRANSITION_SEWER_03 LS_TDS_03 TDS01 68574 +32 Sewer04 AREA_TRANSITION_SEWER_04 LS_TDS_04 TDS01 68575 +33 Sewer05 AREA_TRANSITION_SEWER_05 LS_TDS_05 TDS01 68576 +34 Castle01 AREA_TRANSITION_CASTLE_01 LS_TIC_01 TIC01 68577 +35 Castle02 AREA_TRANSITION_CASTLE_02 LS_TIC_02 TIC01 68578 +36 Castle03 AREA_TRANSITION_CASTLE_03 LS_TIC_03 TIC01 68579 +37 Castle04 AREA_TRANSITION_CASTLE_04 LS_TIC_04 TIC01 68580 +38 Castle05 AREA_TRANSITION_CASTLE_05 LS_TIC_05 TIC01 68581 +39 Castle06 AREA_TRANSITION_CASTLE_06 LS_TIC_06 TIC01 68582 +40 Castle07 AREA_TRANSITION_CASTLE_07 LS_TIC_07 TIC01 68583 +41 Castle08 AREA_TRANSITION_CASTLE_08 LS_TIC_08 TIC01 68584 +42 Interior01 AREA_TRANSITION_INTERIOR_01 LS_TIN_01 TIN01 68585 +43 Interior02 AREA_TRANSITION_INTERIOR_02 LS_TIN_02 TIN01 68586 +44 Interior03 AREA_TRANSITION_INTERIOR_03 LS_TIN_03 TIN01 68587 +45 Interior04 AREA_TRANSITION_INTERIOR_04 LS_TIN_04 TIN01 68588 +46 Interior05 AREA_TRANSITION_INTERIOR_05 LS_TIN_05 TIN01 68589 +47 Interior06 AREA_TRANSITION_INTERIOR_06 LS_TIN_06 TIN01 68590 +48 Interior07 AREA_TRANSITION_INTERIOR_07 LS_TIN_07 TIN01 68591 +49 Interior08 AREA_TRANSITION_INTERIOR_08 LS_TIN_08 TIN01 68592 +50 Interior09 AREA_TRANSITION_INTERIOR_09 LS_TIN_09 TIN01 68593 +51 Interior10 AREA_TRANSITION_INTERIOR_10 LS_TIN_10 TIN01 68594 +52 Interior11 AREA_TRANSITION_INTERIOR_11 LS_TIN_11 TIN01 68595 +53 Interior12 AREA_TRANSITION_INTERIOR_12 LS_TIN_12 TIN01 68596 +54 Interior13 AREA_TRANSITION_INTERIOR_13 LS_TIN_13 TIN01 68597 +55 Interior14 AREA_TRANSITION_INTERIOR_14 LS_TIN_14 TIN01 68598 +56 Interior15 AREA_TRANSITION_INTERIOR_15 LS_TIN_15 TIN01 68599 +57 Interior16 AREA_TRANSITION_INTERIOR_16 LS_TIN_16 TIN01 68600 +58 Forest01 AREA_TRANSITION_FOREST_01 LS_TTF_01 TTF01 68601 +59 Forest02 AREA_TRANSITION_FOREST_02 LS_TTF_02 TTF01 68602 +60 Forest03 AREA_TRANSITION_FOREST_03 LS_TTF_03 TTF01 68603 +61 Forest04 AREA_TRANSITION_FOREST_04 LS_TTF_04 TTF01 68604 +62 Forest05 AREA_TRANSITION_FOREST_05 LS_TTF_05 TTF01 68605 +63 Rural01 AREA_TRANSITION_RURAL_01 LS_TTR_01 TTR01 68606 +64 Rural02 AREA_TRANSITION_RURAL_02 LS_TTR_02 TTR01 68607 +65 Rural03 AREA_TRANSITION_RURAL_03 LS_TTR_03 TTR01 68608 +66 Rural04 AREA_TRANSITION_RURAL_04 LS_TTR_04 TTR01 68609 +67 Rural05 AREA_TRANSITION_RURAL_05 LS_TTR_05 TTR01 68610 +68 WinterRural01 AREA_TRANSITION_WRURAL_01 LS_TTS_01 TTS01 76396 +69 WinterRural02 AREA_TRANSITION_WRURAL_02 LS_TTS_02 TTS01 76397 +70 WinterRural03 AREA_TRANSITION_WRURAL_03 LS_TTS_03 TTS01 76398 +71 WinterRural04 AREA_TRANSITION_WRURAL_04 LS_TTS_04 TTS01 76399 +72 WinterRural05 AREA_TRANSITION_WRURAL_05 LS_TTS_05 TTS01 76400 +73 Desert01 AREA_TRANSITION_DESERT_01 LS_TTD_01 TTD01 76401 +74 Desert02 AREA_TRANSITION_DESERT_02 LS_TTD_02 TTD01 76402 +75 Desert03 AREA_TRANSITION_DESERT_03 LS_TTD_03 TTD01 76403 +76 Desert04 AREA_TRANSITION_DESERT_04 LS_TTD_04 TTD01 76404 +77 Desert05 AREA_TRANSITION_DESERT_05 LS_TTD_05 TTD01 76405 +78 Ruins01 AREA_TRANSITION_RUINS_01 LS_TDR_01 TDR01 76406 +79 Ruins02 AREA_TRANSITION_RUINS_02 LS_TDR_02 TDR01 76407 +80 Ruins03 AREA_TRANSITION_RUINS_03 LS_TDR_03 TDR01 76408 +81 Ruins04 AREA_TRANSITION_RUINS_04 LS_TDR_04 TDR01 76409 +82 Ruins05 AREA_TRANSITION_RUINS_05 LS_TDR_05 TDR01 76410 +83 CaravanWinter01 AREA_TRANSITION_CARAVAN_WINTER LS_CAR_01 TTS01 76411 +84 CaravanDesert01 AREA_TRANSITION_CARAVAN_DESERT LS_CAR_02 TTD01 76412 +85 CaravanRural01 AREA_TRANSITION_CARAVAN_RURAL LS_CAR_03 TTR01 76413 +86 MagicalTransition01 AREA_TRANSITION_MAGICAL_01 LS_MAG_01 **** 76414 +87 MagicalTransition02 AREA_TRANSITION_MAGICAL_02 LS_MAG_02 **** 76415 +88 Underdark01 AREA_TRANSITION_UNDERDARK_01 LS_TTU_01 TTU01 84210 +89 Underdark02 AREA_TRANSITION_UNDERDARK_02 LS_TTU_02 TTU01 84211 +90 Underdark03 AREA_TRANSITION_UNDERDARK_03 LS_TTU_03 TTU01 84213 +91 Underdark04 AREA_TRANSITION_UNDERDARK_04 LS_TTU_04 TTU01 84215 +92 Underdark05 AREA_TRANSITION_UNDERDARK_05 LS_TTU_05 TTU01 84216 +93 Underdark06 AREA_TRANSITION_UNDERDARK_06 LS_TTU_06 TTU01 84217 +94 Underdark07 AREA_TRANSITION_UNDERDARK_07 LS_TTU_07 TTU01 84219 +95 Beholder01 AREA_TRANSITION_BEHOLDER_01 LS_TIB_01 TIB01 84220 +96 Beholder02 AREA_TRANSITION_BEHOLDER_02 LS_TIB_02 TIB01 84221 +97 Drow01 AREA_TRANSITION_DROW_01 LS_TID_01 TID01 84222 +98 Drow02 AREA_TRANSITION_DROW_02 LS_TID_02 TID01 84223 +99 Illithid01 AREA_TRANSITION_ILLITHID_01 LS_TII_01 TII01 84224 +100 Illithid02 AREA_TRANSITION_ILLITHID_02 LS_TII_02 TII01 84225 +101 Wastelands01 AREA_TRANSITION_WASTELAND_01 LS_TTI_01 TTI01 84531 +102 Wastelands02 AREA_TRANSITION_WASTELAND_02 LS_TTI_02 TTI01 84532 +103 Wastelands03 AREA_TRANSITION_WASTELAND_03 LS_TTI_03 TTI01 84533 +104 Drow03 AREA_TRANSITION_DROW_03 LS_TID_03 TID01 84534 +105 Drow04 AREA_TRANSITION_DROW_04 LS_TID_04 TID01 84535 +106 Island01 AREA_TRANSITION_ISLAND_01 LS_TTZ_01 TTZ01 **** +107 Island02 AREA_TRANSITION_ISLAND_02 LS_TTZ_02 TTZ01 **** +108 Island03 AREA_TRANSITION_ISLAND_03 LS_TTZ_03 TTZ01 **** +109 Island04 AREA_TRANSITION_ISLAND_04 LS_TTZ_04 TTZ01 **** +110 Island05 AREA_TRANSITION_ISLAND_05 LS_TTZ_05 TTZ01 **** +111 Island06 AREA_TRANSITION_ISLAND_06 LS_TTZ_06 TTZ01 **** +112 Island07 AREA_TRANSITION_ISLAND_07 LS_TTZ_07 TTZ01 **** +113 Sea_Temple01 AREA_TRANSITION_TEMPLE_01 LS_TDT_01 TDT01 **** +114 Sea_Temple02 AREA_TRANSITION_TEMPLE_02 LS_TDT_02 TDT01 **** +115 Sea_Temple03 AREA_TRANSITION_TEMPLE_03 LS_TDT_03 TDT01 **** +116 Sea_Temple04 AREA_TRANSITION_TEMPLE_04 LS_TDT_04 TDT01 **** +117 Sea_Temple05 AREA_TRANSITION_TEMPLE_05 LS_TDT_05 TDT01 **** +118 Ship01 AREA_TRANSITION_SHIP_01 LS_SHIP_01 **** **** +119 Castle09 AREA_TRANSITION_CASTLE_09 LS_TIC_09 TIC01 **** +120 Mines10 AREA_TRANSITION_MINES_10 LS_TDM_10 TDM01 **** +121 Mines11 AREA_TRANSITION_MINES_11 LS_TDM_11 TDM01 **** +122 Mines12 AREA_TRANSITION_MINES_12 LS_TDM_12 TDM01 **** +123 Dungeon09 AREA_TRANSITION_DUNGEON_09 LS_TDE_09 TDE01 **** +124 AltarRoom01 AREA_TRANSITION_ALTAR_01 LS_ALTAR_01 **** **** +125 SeaCavesWet06 AREA_TRANSITION_SEACAVE_06 LS_TDT_06 TDT01 **** +126 SeaCavesWet07 AREA_TRANSITION_SEACAVE_07 LS_TDT_07 TDT01 **** +127 SeaCavesWet08 AREA_TRANSITION_SEACAVE_08 LS_TDT_08 TDT01 **** +128 SeaCavesWet09 AREA_TRANSITION_SEACAVE_09 LS_TDT_09 TDT01 **** +129 Mines13 AREA_TRANSITION_MINES_13 LS_TDM_13 TDM01 **** +130 Mines14 AREA_TRANSITION_MINES_14 LS_TDM_14 TDM01 **** +131 Mines15 AREA_TRANSITION_MINES_15 LS_TDM_15 TDM01 **** +132 Mines16 AREA_TRANSITION_MINES_16 LS_TDM_16 TDM01 **** +133 Mines17 AREA_TRANSITION_MINES_17 LS_TDM_17 TDM01 **** +134 Mines18 AREA_TRANSITION_MINES_18 LS_TDM_18 TDM01 **** +135 FortInterior01 AREA_TRANSITION_FORT_01 LS_TWC_01 TWC03 **** +136 FortInterior02 AREA_TRANSITION_FORT_02 LS_TWC_02 TWC03 **** +137 FortInterior03 AREA_TRANSITION_FORT_03 LS_TWC_03 TWC03 **** +138 FortInterior04 AREA_TRANSITION_FORT_04 LS_TWC_04 TWC03 **** +139 FortInterior05 AREA_TRANSITION_FORT_05 LS_TWC_05 TWC03 **** +140 FortInterior06 AREA_TRANSITION_FORT_06 LS_TWC_06 TWC03 **** +141 FortInterior07 AREA_TRANSITION_FORT_07 LS_TWC_07 TWC03 **** +142 FortInterior08 AREA_TRANSITION_FORT_08 LS_TWC_08 TWC03 **** +143 FortInterior09 AREA_TRANSITION_FORT_09 LS_TWC_09 TWC03 **** +144 FortInterior10 AREA_TRANSITION_FORT_10 LS_TWC_10 TWC03 **** +145 FortInterior11 AREA_TRANSITION_FORT_11 LS_TWC_11 TWC03 **** +146 Barrows01 AREA_TRANSITION_BARROWS01 LS_TBW_01 TBW01 **** +147 Barrows02 AREA_TRANSITION_BARROWS02 LS_TBW_02 TBW01 **** +148 Barrows03 AREA_TRANSITION_BARROWS03 LS_TBW_03 TBW01 **** +149 Barrows04 AREA_TRANSITION_BARROWS04 LS_TBW_04 TBW01 **** +150 **** **** **** **** **** +151 **** **** **** **** **** +152 Barrows07 AREA_TRANSITION_BARROWS07 LS_TBW_07 TBW01 **** +153 Barrows08 AREA_TRANSITION_BARROWS08 LS_TBW_08 TBW01 **** +154 Barrows09 AREA_TRANSITION_BARROWS09 LS_TBW_09 TBW01 **** +155 Barrows10 AREA_TRANSITION_BARROWS10 LS_TBW_10 TBW01 **** +156 Barrows11 AREA_TRANSITION_BARROWS11 LS_TBW_11 TBW01 **** +157 Barrows12 AREA_TRANSITION_BARROWS12 LS_TBW_12 TBW01 **** +158 Barrows13 AREA_TRANSITION_BARROWS13 LS_TBW_13 TBW01 **** +159 Barrows14 AREA_TRANSITION_BARROWS14 LS_TBW_14 TBW01 **** +160 Barrows15 AREA_TRANSITION_BARROWS15 LS_TBW_15 TBW01 **** +161 TirNaInt01 AREA_TRANSITION_TNI_01 LS_TNI_01 TNI01 **** +162 TirNaInt02 AREA_TRANSITION_TNI_02 LS_TNI_02 TNI01 **** +163 TirNaInt03 AREA_TRANSITION_TNI_03 LS_TNI_03 TNI01 **** +164 TirNaInt04 AREA_TRANSITION_TNI_04 LS_TNI_04 TNI01 **** +165 TirNaInt05 AREA_TRANSITION_TNI_05 LS_TNI_05 TNI01 **** +166 TirNaInt06 AREA_TRANSITION_TNI_06 LS_TNI_06 TNI01 **** +167 TirNaInt07 AREA_TRANSITION_TNI_07 LS_TNI_07 TNI01 **** +168 TirNaInt09 AREA_TRANSITION_TNI_09 LS_TNI_09 TNI02 **** +169 TirNaInt10 AREA_TRANSITION_TNI_10 LS_TNI_10 TNI02 **** +170 TirNaInt11 AREA_TRANSITION_TNI_11 LS_TNI_11 TNI02 **** +171 TirNaInt12 AREA_TRANSITION_TNI_12 LS_TNI_12 TNI02 **** +172 TirNaInt13 AREA_TRANSITION_TNI_13 LS_TNI_13 TNI02 **** +173 TirNaInt14 AREA_TRANSITION_TNI_14 LS_TNI_14 TNI02 **** +174 TirNaInt15 AREA_TRANSITION_TNI_15 LS_TNI_15 TNI02 **** +175 TirNaInt16 AREA_TRANSITION_TNI_16 LS_TNI_16 TNI02 **** +176 TirNaInt17 AREA_TRANSITION_TNI_17 LS_TNI_17 TNI02 **** +177 TirNaNog01 AREA_TRANSITION_TNO_01 LS_TNO_01 TNO01 **** +178 TirNaNog02 AREA_TRANSITION_TNO_02 LS_TNO_02 TNO01 **** +179 TirNaNog03 AREA_TRANSITION_TNO_03 LS_TNO_03 TNO01 **** +180 TirNaNog04 AREA_TRANSITION_TNO_04 LS_TNO_04 TNO01 **** +181 TirNaNog05 AREA_TRANSITION_TNO_05 LS_TNO_05 TNO01 **** +182 TirNaNog06 AREA_TRANSITION_TNO_06 LS_TNO_06 TNO01 **** +183 TirNaNog07 AREA_TRANSITION_TNO_07 LS_TNO_07 TNO01 **** +184 TirNaNog08 AREA_TRANSITION_TNO_08 LS_TNO_08 TNO01 **** +185 TirNaNog09 AREA_TRANSITION_TNO_09 LS_TNO_09 TNO01 **** +186 TirNaNog10 AREA_TRANSITION_TNO_10 LS_TNO_10 TNO01 **** +187 TirNaNog21 AREA_TRANSITION_TNO_21 LS_TNO_21 TNO01 **** +188 TirNaNog22 AREA_TRANSITION_TNO_22 LS_TNO_22 TNO01 **** +189 TirNaNog23 AREA_TRANSITION_TNO_23 LS_TNO_23 TNO01 **** +190 TirNaNog24 AREA_TRANSITION_TNO_24 LS_TNO_24 TNO01 **** +191 TirNaNog25 AREA_TRANSITION_TNO_25 LS_TNO_25 TNO01 **** +192 TirNaNog26 AREA_TRANSITION_TNO_26 LS_TNO_26 TNO01 **** +193 TirNaNog27 AREA_TRANSITION_TNO_27 LS_TNO_27 TNO01 **** +194 TirNaNog28 AREA_TRANSITION_TNO_28 LS_TNO_28 TNO01 **** +195 TirNaNog29 AREA_TRANSITION_TNO_29 LS_TNO_29 TNO01 **** +196 TirNaNog30 AREA_TRANSITION_TNO_30 LS_TNO_30 TNO01 **** +197 TirNaNog31 AREA_TRANSITION_TNO_31 LS_TNO_31 TNO01 **** +198 TirNaNog32 AREA_TRANSITION_TNO_32 LS_TNO_32 TNO01 **** +199 TirNaNog33 AREA_TRANSITION_TNO_33 LS_TNO_33 TNO01 **** +200 TirNaNog34 AREA_TRANSITION_TNO_34 LS_TNO_34 TNO01 **** +201 TirNaNog35 AREA_TRANSITION_TNO_35 LS_TNO_35 TNO01 **** +202 TirNaNog36 AREA_TRANSITION_TNO_36 LS_TNO_36 TNO01 **** +203 TirNaNog37 AREA_TRANSITION_TNO_37 LS_TNO_37 TNO01 **** +204 TirNaNog38 AREA_TRANSITION_TNO_38 LS_TNO_38 TNO01 **** +205 Joust01 AREA_TRANSITION_JOUST_01 LS_JOUST_01 TNO01 **** +206 Joust02 AREA_TRANSITION_JOUST_01 LS_JOUST_02 TNO01 **** +207 Joust03 AREA_TRANSITION_JOUST_01 LS_JOUST_03 TNO01 **** +208 Joust04 AREA_TRANSITION_JOUST_01 LS_JOUST_04 TNO01 **** +209 Joust05 AREA_TRANSITION_JOUST_01 LS_JOUST_05 TNO01 **** +210 City06 AREA_TRANSITION_CITY_06 LS_gygax_01 TCN01 **** +211 **** **** **** **** **** +212 **** **** **** **** **** +213 **** **** **** **** **** +214 **** **** **** **** **** +215 **** **** **** **** **** +216 **** **** **** **** **** +217 **** **** **** **** **** +218 **** **** **** **** **** +219 **** **** **** **** **** +220 **** **** **** **** **** +221 **** **** **** **** **** +222 **** **** **** **** **** +223 **** **** **** **** **** +224 **** **** **** **** **** +225 **** **** **** **** **** +226 **** **** **** **** **** +227 **** **** **** **** **** +228 **** **** **** **** **** +229 **** **** **** **** **** +230 **** **** **** **** **** +231 **** **** **** **** **** +232 **** **** **** **** **** +233 **** **** **** **** **** +234 **** **** **** **** **** +235 **** **** **** **** **** +236 **** **** **** **** **** +237 **** **** **** **** **** +238 **** **** **** **** **** +239 **** **** **** **** **** +240 **** **** **** **** **** +241 **** **** **** **** **** +242 **** **** **** **** **** +243 **** **** **** **** **** +244 **** **** **** **** **** +245 **** **** **** **** **** +246 **** **** **** **** **** +247 **** **** **** **** **** +248 **** **** **** **** **** +249 **** **** **** **** **** +250 Barrows05 AREA_TRANSITION_BARROWS05 LS_TBW_05 TBW01 **** +251 Barrows06 AREA_TRANSITION_BARROWS06 LS_TBW_06 TBW01 **** +252 Joust06 AREA_TRANSITION_JOUST_01 LS_JOUST_06 TNO01 **** +253 SteamWork01 AREA_TRANSITION_TSW_01 LS_TSW_01 TSW01 **** +254 SteamWork02 AREA_TRANSITION_TSW_02 LS_TSW_04 TSW01 **** +255 SteamWork03 AREA_TRANSITION_TSW_03 LS_TSW_06 TSW01 **** +256 SteamWork04 AREA_TRANSITION_TSW_04 LS_TSW_07 TSW01 **** +257 SteamWork05 AREA_TRANSITION_TSW_05 LS_TSW_08 TSW01 **** +258 SteamWork06 AREA_TRANSITION_TSW_06 LS_TSW_09 TSW01 **** +259 SteamWork07 AREA_TRANSITION_TSW_07 LS_TSW_02 TSW01 **** +260 **** **** **** **** **** +261 **** **** **** **** **** +262 **** **** **** **** **** +263 **** **** **** **** **** +264 **** **** **** **** **** +265 **** **** **** **** **** +266 **** **** **** **** **** +267 **** **** **** **** **** +268 **** **** **** **** **** +269 **** **** **** **** **** +270 RoadToVoonlar AREA_TRANSITION_TOM_01 LS_TOM_01 TTR02 **** +271 Voonlar AREA_TRANSITION_TOM_02 LS_TOM_02 TTR02 **** +272 Yulash AREA_TRANSITION_TOM_03 LS_TOM_03 TTR02 **** +273 HillsfarMerchant AREA_TRANSITION_TOM_04 LS_TOM_04 TCN01 **** +274 HillsfarTemple AREA_TRANSITION_TOM_05 LS_TOM_05 TCN01 **** +275 HillsfarArena AREA_TRANSITION_TOM_06 LS_TOM_06 TCN01 **** +276 Elventree AREA_TRANSITION_TOM_07 LS_TOM_07 TTF02 **** +277 CormanthorForest AREA_TRANSITION_TOM_08 LS_TOM_08 TTF02 **** +278 OrderCamp AREA_TRANSITION_TOM_09 LS_TOM_09 TTF02 **** +279 Elmwood AREA_TRANSITION_TOM_10 LS_TOM_10 TNO01 **** +280 RiverLis AREA_TRANSITION_TOM_11 LS_TOM_11 TRM02 **** +281 NavigationCabin AREA_TRANSITION_TOM_12 LS_TOM_12 TSS13 **** +282 MulmasterDocks AREA_TRANSITION_TOM_13 LS_TOM_13 TCM02 **** +283 MulmasterFortune AREA_TRANSITION_TOM_14 LS_TOM_14 TIC01 **** +284 Thentia AREA_TRANSITION_TOM_15 LS_TOM_15 TRM02 **** +285 MelvauntShipyards AREA_TRANSITION_TOM_16 LS_TOM_16 TCM02 **** +286 TharScarredLands AREA_TRANSITION_TOM_17 LS_TOM_17 TNO01 **** +287 TharIyrauroth AREA_TRANSITION_TOM_18 LS_TOM_18 TNO01 **** +288 KurTharsuGate AREA_TRANSITION_TOM_19 LS_TOM_19 TNO01 **** +289 KurTharsuCourtyard AREA_TRANSITION_TOM_20 LS_TOM_20 TNO01 **** +290 ZhentilKeep AREA_TRANSITION_TOM_21 LS_TOM_21 TNO01 **** +291 ZhentilKeepWar AREA_TRANSITION_TOM_22 LS_TOM_22 TNO01 **** +292 ZhentilKeepRuins AREA_TRANSITION_TOM_23 LS_TOM_23 TNO01 **** +293 ZhentilKeepLodge AREA_TRANSITION_TOM_24 LS_TOM_24 TNO01 **** +294 ZhentilKeepTemple AREA_TRANSITION_TOM_25 LS_TOM_25 TNO01 **** +295 ZhentilKeepTempleWar AREA_TRANSITION_TOM_26 LS_TOM_26 TNO01 **** +296 MedRuralWinter01 AREA_TRANSITION_TOM_27 LS_TOM_27 TRS02 **** +297 MedRuralWinter02 AREA_TRANSITION_TOM_28 LS_TOM_28 TRS02 **** +298 MedRuralWinter03 AREA_TRANSITION_TOM_29 LS_TOM_29 TRS02 **** +299 MedRuralWinter04 AREA_TRANSITION_TOM_30 LS_TOM_30 TRS02 **** +300 MedievalCity01 AREA_TRANSITION_TOM_31 LS_TOM_31 TCM02 **** +301 MedievalCity02 AREA_TRANSITION_TOM_32 LS_TOM_32 TCM02 **** +302 MedievalCity03 AREA_TRANSITION_TOM_33 LS_TOM_33 TCM02 **** +303 MedievalCity04 AREA_TRANSITION_TOM_34 LS_TOM_34 TCM02 **** +304 MedievalCity05 AREA_TRANSITION_TOM_35 LS_TOM_35 TCM02 **** +305 MedievalCity06 AREA_TRANSITION_TOM_36 LS_TOM_36 TCM02 **** +306 MedievalCity07 AREA_TRANSITION_TOM_37 LS_TOM_37 TCM02 **** +307 MedievalCity08 AREA_TRANSITION_TOM_38 LS_TOM_38 TCM02 **** +308 SeaShips01 AREA_TRANSITION_TOM_39 LS_TOM_39 TSS13 **** +309 SeaShips02 AREA_TRANSITION_TOM_40 LS_TOM_40 TSS13 **** +310 SeaShips03 AREA_TRANSITION_TOM_41 LS_TOM_41 TSS13 **** +311 SeaShips04 AREA_TRANSITION_TOM_42 LS_TOM_42 TSS13 **** +312 **** **** **** **** **** +313 **** **** **** **** **** +314 **** **** **** **** **** +315 **** **** **** **** **** +316 **** **** **** **** **** +317 **** **** **** **** **** +318 **** **** **** **** **** +319 **** **** **** **** **** +320 **** **** **** **** **** +321 **** **** **** **** **** +322 Daggerford01 AREA_TRANSITION_DAG_01 LS_DAG_01 TNO01 **** +323 Daggerford02 AREA_TRANSITION_DAG_02 LS_DAG_02 TNO01 **** +324 Daggerford03 AREA_TRANSITION_DAG_03 LS_DAG_03 TNO01 **** +325 Daggerford04 AREA_TRANSITION_DAG_04 LS_DAG_04 TNO01 **** +326 Daggerford05 AREA_TRANSITION_DAG_05 LS_DAG_05 TMS01 **** +327 Daggerford06 AREA_TRANSITION_DAG_06 LS_DAG_06 TIC01 **** +328 Daggerford07 AREA_TRANSITION_DAG_07 LS_DAG_07 TNO01 **** +329 Daggerford08 AREA_TRANSITION_DAG_08 LS_DAG_08 DAG01 **** +330 Daggerford09 AREA_TRANSITION_DAG_09 LS_DAG_09 DAG01 **** +331 Daggerford10 AREA_TRANSITION_DAG_10 LS_DAG_10 DAG01 **** +332 Daggerford11 AREA_TRANSITION_DAG_11 LS_DAG_11 TNO01 **** +333 Daggerford12 AREA_TRANSITION_DAG_12 LS_DAG_12 TMS01 **** diff --git a/cep_blueprints/_hak/prc_add_sb/mali_ditto_tool.ncs b/cep_blueprints/_hak/prc_add_sb/mali_ditto_tool.ncs new file mode 100644 index 0000000..7251f3f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mali_ditto_tool.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/mali_ditto_tool.nss b/cep_blueprints/_hak/prc_add_sb/mali_ditto_tool.nss new file mode 100644 index 0000000..901f90e --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mali_ditto_tool.nss @@ -0,0 +1,57 @@ +#include "mali_string_fns" +#include "sparky_inc" + + +void SpawnTable(object oPC) +{ string sTableName = GetLocalString(oPC, "sENC_LastTableSpawn"); + location lSpawn = GetLocalLocation(oPC, "lMCS_Spawn"); + vector vSpawn = GetPositionFromLocation(lSpawn); + string sSpawnPoint = "location:" + FloatToString(vSpawn.x) + "x" + FloatToString(vSpawn.y) + "y"; + sSpawnPoint = SearchAndReplace(sSpawnPoint, " ", ""); + int iDrop; + object oArea = GetArea(oPC); + + ExecuteScript("bee_enc_tables", oArea); + SendMessageToPC(oPC, "Spawning from table " + sTableName + "..."); + + switch (GetLocalInt(oPC, "iENC_Table_SpawnPoint")) + { case 1: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea); break; + case 2: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, sSpawnPoint); break; + case 3: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, sSpawnPoint, "5.0"); break; + case 4: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, sSpawnPoint, "10.0"); break; + case 5: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, sSpawnPoint, "15.0"); break; + case 6: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, sSpawnPoint, "20.0"); break; + case 7: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, "random"); break; + default: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, sSpawnPoint); break; + } +} + +void main() +{ + object oPC = OBJECT_SELF; //The player character using the item + object oTarget = GetSpellTargetObject(); //The target of the spell + location lTarget = GetSpellTargetLocation(); + + SetLocalLocation(oPC, "lMCS_Spawn", lTarget); + + object oLastSpawn = GetLocalObject(oPC, "oENC_LastSpawn"); + + switch (GetObjectType(oLastSpawn)) + { case OBJECT_TYPE_WAYPOINT: + SetLocalInt(oPC, "iENC_ditto", TRUE); + ExecuteScript("enc_custspawn", oPC); + break; + case OBJECT_TYPE_ITEM: + SetLocalInt(oPC, "iENC_ditto", TRUE); + ExecuteScript("mcs_release", oPC); + break; + case OBJECT_TYPE_CREATURE: + if (oLastSpawn == oPC) + { SpawnTable(oPC); break; } + default: + SendMessageToPC(oPC, "ERROR: Last spawn invalid, or missing!"); + break; + } + +} + diff --git a/cep_blueprints/_hak/prc_add_sb/mali_dm_paa.dlg b/cep_blueprints/_hak/prc_add_sb/mali_dm_paa.dlg new file mode 100644 index 0000000..e56034b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mali_dm_paa.dlg differ diff --git a/cep_blueprints/_hak/prc_add_sb/mali_dm_paa.ncs b/cep_blueprints/_hak/prc_add_sb/mali_dm_paa.ncs new file mode 100644 index 0000000..93d5640 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mali_dm_paa.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/mali_dm_paa.nss b/cep_blueprints/_hak/prc_add_sb/mali_dm_paa.nss new file mode 100644 index 0000000..c74b8fc --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mali_dm_paa.nss @@ -0,0 +1,47 @@ +// DM Placeable Attitude Adjuster widget +// by Malishara +//::////////////////////////////////////////////////////////// +#include "x2_inc_switches" + +// This is the main function for the tag-based script. +void main() +{ switch( GetUserDefinedItemEventNumber()) + { case X2_ITEM_EVENT_ACTIVATE: + { // The item's CastSpell Activate or CastSpell UniquePower was just activated. + object oItemUser = GetItemActivator(); + object oItem = GetItemActivated(); + object oTarget = GetItemActivatedTarget(); + location lTarget = (GetIsObjectValid( oTarget) ? GetLocation( oTarget) : GetItemActivatedTargetLocation()); + if( !GetIsObjectValid( oItemUser) || !GetIsObjectValid( oItem)) + { SetExecutedScriptReturnValue( X2_EXECUTE_SCRIPT_CONTINUE); + return; + } + + // Display error message if used on something other than placeable or ground + if( (GetIsObjectValid(oTarget)) && (GetObjectType(oTarget) != OBJECT_TYPE_PLACEABLE)) + { SendMessageToPC(oItemUser, "ERROR: Placeable Attitude Adjuster may only be used on placeables."); + return; + } + + if( !GetIsObjectValid(oTarget) ) + { oTarget = GetNearestObjectToLocation(OBJECT_TYPE_PLACEABLE, lTarget, 1); } + + if( !GetIsObjectValid(oTarget) ) + { SendMessageToPC(oItemUser, "ERROR: No placeables in target area."); + return; + } + + // Pass information as local variables on user + SetLocalObject(oItemUser, "DM_PAA_oTarget", oTarget); + SetLocalLocation(oItemUser, "DM_PAA_lTarget", lTarget); + + // Initiate conversation tree + string sConversationName = GetResRef( oItem); + AssignCommand( oItemUser, ActionStartConversation( oItemUser, sConversationName, TRUE, FALSE)); + } + SetExecutedScriptReturnValue( X2_EXECUTE_SCRIPT_END); + return; + + } + SetExecutedScriptReturnValue( X2_EXECUTE_SCRIPT_CONTINUE); +} diff --git a/cep_blueprints/_hak/prc_add_sb/mali_dm_paa.uti b/cep_blueprints/_hak/prc_add_sb/mali_dm_paa.uti new file mode 100644 index 0000000..6125d28 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mali_dm_paa.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/mali_dm_paa_tool.ncs b/cep_blueprints/_hak/prc_add_sb/mali_dm_paa_tool.ncs new file mode 100644 index 0000000..81f2bfe Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mali_dm_paa_tool.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/mali_dm_paa_tool.nss b/cep_blueprints/_hak/prc_add_sb/mali_dm_paa_tool.nss new file mode 100644 index 0000000..1e53a59 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mali_dm_paa_tool.nss @@ -0,0 +1,29 @@ +void main() +{ + object oItemUser = OBJECT_SELF; + object oTarget = GetSpellTargetObject(); + location lTarget = GetSpellTargetLocation(); + + // Display error message if used on something other than placeable or ground + if( (GetIsObjectValid(oTarget)) && (GetObjectType(oTarget) != OBJECT_TYPE_PLACEABLE)) + { SendMessageToPC(oItemUser, "ERROR: Placeable Attitude Adjuster may only be used on placeables."); + return; + } + + if( !GetIsObjectValid(oTarget) ) + { oTarget = GetNearestObjectToLocation(OBJECT_TYPE_PLACEABLE, lTarget, 1); } + + if( !GetIsObjectValid(oTarget) ) + { SendMessageToPC(oItemUser, "ERROR: No placeables in target area."); + return; + } + + // Pass information as local variables on user + SetLocalObject(oItemUser, "DM_PAA_oTarget", oTarget); + SetLocalLocation(oItemUser, "DM_PAA_lTarget", lTarget); + + // Initiate conversation tree + string sConversationName = "mali_dm_paa"; + AssignCommand( oItemUser, ActionStartConversation( oItemUser, sConversationName, TRUE, FALSE)); + +} diff --git a/cep_blueprints/_hak/prc_add_sb/mali_dm_stage.dlg b/cep_blueprints/_hak/prc_add_sb/mali_dm_stage.dlg new file mode 100644 index 0000000..7af6ffb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mali_dm_stage.dlg differ diff --git a/cep_blueprints/_hak/prc_add_sb/mali_dm_stage.ncs b/cep_blueprints/_hak/prc_add_sb/mali_dm_stage.ncs new file mode 100644 index 0000000..96a0877 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mali_dm_stage.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/mali_dm_stage.nss b/cep_blueprints/_hak/prc_add_sb/mali_dm_stage.nss new file mode 100644 index 0000000..793389b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mali_dm_stage.nss @@ -0,0 +1,32 @@ +// DM Placeable Attitude Adjuster widget +// by Malishara +//::////////////////////////////////////////////////////////// +#include "x2_inc_switches" +#include "x0_i0_position" + +// This is the main function for the tag-based script. +void main() +{ switch( GetUserDefinedItemEventNumber()) + { case X2_ITEM_EVENT_ACTIVATE: + { // The item's CastSpell Activate or CastSpell UniquePower was just activated. + object oItemUser = GetItemActivator(); + object oItem = GetItemActivated(); + object oTarget = GetItemActivatedTarget(); + location lTarget = (GetIsObjectValid( oTarget) ? GetLocation( oTarget) : GetItemActivatedTargetLocation()); + if( !GetIsObjectValid( oItemUser) || !GetIsObjectValid( oItem)) + { SetExecutedScriptReturnValue( X2_EXECUTE_SCRIPT_CONTINUE); + return; + } + + + SetLocalObject(oItemUser, "DM_SM_oWidget", oItem); + string sConversationName = GetTag( oItem); + AssignCommand( oItemUser, ActionStartConversation( oItemUser, sConversationName, TRUE, FALSE)); + + } + SetExecutedScriptReturnValue( X2_EXECUTE_SCRIPT_END); + return; + + } + SetExecutedScriptReturnValue( X2_EXECUTE_SCRIPT_CONTINUE); +} diff --git a/cep_blueprints/_hak/prc_add_sb/mali_dm_stage.uti b/cep_blueprints/_hak/prc_add_sb/mali_dm_stage.uti new file mode 100644 index 0000000..929543b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mali_dm_stage.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/mali_enc.ncs b/cep_blueprints/_hak/prc_add_sb/mali_enc.ncs new file mode 100644 index 0000000..db11dbf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mali_enc.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/mali_enc.nss b/cep_blueprints/_hak/prc_add_sb/mali_enc.nss new file mode 100644 index 0000000..77fe5d0 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mali_enc.nss @@ -0,0 +1,33 @@ +#include "x2_inc_switches" + +void main() +{ + int nEvent = GetUserDefinedItemEventNumber(); //Which event triggered this + object oPC; //The player character using the item + object oItem; //The item being used + object oTarget; //The target of the spell + location lTarget; + + + //Set the return value for the item event script + // * X2_EXECUTE_SCRIPT_CONTINUE - continue calling script after executed script is done + // * X2_EXECUTE_SCRIPT_END - end calling script after executed script is done + int nResult = X2_EXECUTE_SCRIPT_END; + + switch (nEvent) + { case X2_ITEM_EVENT_ACTIVATE: + oPC = GetItemActivator(); + oItem = GetItemActivated(); + oTarget = GetItemActivatedTarget(); + lTarget = (GetIsObjectValid(oTarget) ? GetLocation(oTarget) : GetItemActivatedTargetLocation()); + + SetLocalLocation(oPC, "lMCS_Spawn", lTarget); + AssignCommand(oPC, ActionStartConversation(oPC, "enc_spawnmenu", TRUE, FALSE)); + + break; + } + + //Pass the return value back to the calling script + SetExecutedScriptReturnValue(nResult); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/mali_enc.uti b/cep_blueprints/_hak/prc_add_sb/mali_enc.uti new file mode 100644 index 0000000..681c33c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mali_enc.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/mali_enc_ditto.ncs b/cep_blueprints/_hak/prc_add_sb/mali_enc_ditto.ncs new file mode 100644 index 0000000..5d0a945 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mali_enc_ditto.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/mali_enc_ditto.nss b/cep_blueprints/_hak/prc_add_sb/mali_enc_ditto.nss new file mode 100644 index 0000000..90b7066 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mali_enc_ditto.nss @@ -0,0 +1,76 @@ +#include "x2_inc_switches" +#include "mali_string_fns" +#include "sparky_inc" + + +void SpawnTable(object oPC) +{ string sTableName = GetLocalString(oPC, "sENC_LastTableSpawn"); + location lSpawn = GetLocalLocation(oPC, "lMCS_Spawn"); + vector vSpawn = GetPositionFromLocation(lSpawn); + string sSpawnPoint = "location:" + FloatToString(vSpawn.x) + "x" + FloatToString(vSpawn.y) + "y"; + sSpawnPoint = SearchAndReplace(sSpawnPoint, " ", ""); + int iDrop; + object oArea = GetArea(oPC); + + ExecuteScript("bee_enc_tables", oArea); + SendMessageToPC(oPC, "Spawning from table " + sTableName + "..."); + + switch (GetLocalInt(oPC, "iENC_Table_SpawnPoint")) + { case 1: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea); break; + case 2: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, sSpawnPoint); break; + case 3: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, sSpawnPoint, "5.0"); break; + case 4: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, sSpawnPoint, "10.0"); break; + case 5: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, sSpawnPoint, "15.0"); break; + case 6: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, sSpawnPoint, "20.0"); break; + case 7: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, "random"); break; + default: iDrop = ProcessV2Entry("table," + sTableName, oArea, oArea, sSpawnPoint); break; + } +} + +void main() +{ + int nEvent = GetUserDefinedItemEventNumber(); //Which event triggered this + object oPC; //The player character using the item + object oItem; //The item being used + object oTarget; //The target of the spell + location lTarget; + object oLastSpawn; + + + //Set the return value for the item event script + // * X2_EXECUTE_SCRIPT_CONTINUE - continue calling script after executed script is done + // * X2_EXECUTE_SCRIPT_END - end calling script after executed script is done + int nResult = X2_EXECUTE_SCRIPT_END; + + if (nEvent == X2_ITEM_EVENT_ACTIVATE) + { oPC = GetItemActivator(); + oItem = GetItemActivated(); + oTarget = GetItemActivatedTarget(); + lTarget = (GetIsObjectValid(oTarget) ? GetLocation(oTarget) : GetItemActivatedTargetLocation()); + + SetLocalLocation(oPC, "lMCS_Spawn", lTarget); + oLastSpawn = GetLocalObject(oPC, "oENC_LastSpawn"); + + + switch (GetObjectType(GetLocalObject(oPC, "oENC_LastSpawn"))) + { case OBJECT_TYPE_WAYPOINT: + SetLocalInt(oPC, "iENC_ditto", TRUE); + ExecuteScript("enc_custspawn", oPC); + break; + case OBJECT_TYPE_ITEM: + SetLocalInt(oPC, "iENC_ditto", TRUE); + ExecuteScript("mcs_release", oPC); + break; + case OBJECT_TYPE_CREATURE: + if (oLastSpawn == oPC) + { SpawnTable(oPC); break; } + default: + SendMessageToPC(oPC, "ERROR: Last spawn invalid, or missing!"); + break; + } + } + + //Pass the return value back to the calling script + SetExecutedScriptReturnValue(nResult); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/mali_enc_ditto.uti b/cep_blueprints/_hak/prc_add_sb/mali_enc_ditto.uti new file mode 100644 index 0000000..049fe7f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mali_enc_ditto.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/mali_enc_tool.ncs b/cep_blueprints/_hak/prc_add_sb/mali_enc_tool.ncs new file mode 100644 index 0000000..28225bf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mali_enc_tool.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/mali_enc_tool.nss b/cep_blueprints/_hak/prc_add_sb/mali_enc_tool.nss new file mode 100644 index 0000000..bd16653 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mali_enc_tool.nss @@ -0,0 +1,13 @@ +void main() +{ + object oPC = OBJECT_SELF; //The player character using the item + object oTarget = GetSpellTargetObject(); //The target of the spell + location lTarget = GetSpellTargetLocation(); + + + lTarget = (GetIsObjectValid(oTarget) ? GetLocation(oTarget) : GetSpellTargetLocation()); + + SetLocalLocation(oPC, "lMCS_Spawn", lTarget); + AssignCommand(oPC, ActionStartConversation(oPC, "enc_spawnmenu", TRUE, FALSE)); + +} diff --git a/cep_blueprints/_hak/prc_add_sb/mali_mcs.dlg b/cep_blueprints/_hak/prc_add_sb/mali_mcs.dlg new file mode 100644 index 0000000..03932bd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mali_mcs.dlg differ diff --git a/cep_blueprints/_hak/prc_add_sb/mali_mcs.ncs b/cep_blueprints/_hak/prc_add_sb/mali_mcs.ncs new file mode 100644 index 0000000..11b0c97 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mali_mcs.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/mali_mcs.nss b/cep_blueprints/_hak/prc_add_sb/mali_mcs.nss new file mode 100644 index 0000000..e198de3 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mali_mcs.nss @@ -0,0 +1,42 @@ +#include "x2_inc_switches" + +void main() +{ + int nEvent = GetUserDefinedItemEventNumber(); //Which event triggered this + object oPC; //The player character using the item + object oItem; //The item being used + object oSpellOrigin; //The origin of the spell + object oTarget; //The target of the spell + location lTarget; + + string sDesc; + + //Set the return value for the item event script + // * X2_EXECUTE_SCRIPT_CONTINUE - continue calling script after executed script is done + // * X2_EXECUTE_SCRIPT_END - end calling script after executed script is done + int nResult = X2_EXECUTE_SCRIPT_END; + + switch (nEvent) + { case X2_ITEM_EVENT_ACTIVATE: + { oPC = GetItemActivator(); // The player who activated the item + oItem = GetItemActivated(); // The item that was activated + oTarget = GetItemActivatedTarget(); + lTarget = (GetIsObjectValid(oTarget) ? GetLocation(oTarget) : GetItemActivatedTargetLocation()); + + sDesc = GetDescription(oItem, FALSE, FALSE); + + if (sDesc == "EMPTY") + { SendMessageToPC(oPC, "This device is empty! Toss it in the trash, it's useless."); } + else + { SetLocalLocation(oPC, "lMCS_Spawn", lTarget); + SetLocalObject(oPC, "oMCS_Device", oItem); + ExecuteScript("mcs_release", oPC); + } + } + } + + //Pass the return value back to the calling script + SetExecutedScriptReturnValue(nResult); + return; +} + diff --git a/cep_blueprints/_hak/prc_add_sb/mali_mcs.uti b/cep_blueprints/_hak/prc_add_sb/mali_mcs.uti new file mode 100644 index 0000000..4cf3ebd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mali_mcs.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/mali_mcs_control.ncs b/cep_blueprints/_hak/prc_add_sb/mali_mcs_control.ncs new file mode 100644 index 0000000..7aad437 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mali_mcs_control.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/mali_mcs_control.nss b/cep_blueprints/_hak/prc_add_sb/mali_mcs_control.nss new file mode 100644 index 0000000..27b8a48 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mali_mcs_control.nss @@ -0,0 +1,8 @@ +void main() +{ + location lOrb = GetLocation(GetNearestObjectByTag("MCS_ORB")); + + object oPC = GetLastUsedBy(); + AssignCommand(oPC, JumpToLocation(lOrb)); + AssignCommand(oPC, ActionStartConversation(oPC, "mali_mcs", TRUE, FALSE)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/mali_string_fns.nss b/cep_blueprints/_hak/prc_add_sb/mali_string_fns.nss new file mode 100644 index 0000000..d08bace --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mali_string_fns.nss @@ -0,0 +1,102 @@ +//------------------------------------------------------------------------------ +// String functions include +// by Malishara +//------------------------------------------------------------------------------ + + +//------------------------------------------------------------------------------ +// Returns the first word in sString, delimited by sDelimiter +//------------------------------------------------------------------------------ +string FirstWord(string sString, string sDelimiter = " "); + +//------------------------------------------------------------------------------ +// Returns sString, starting with the second word, delimited by sDelimiter +//------------------------------------------------------------------------------ +string RestWords(string sString, string sDelimiter = " "); + +//------------------------------------------------------------------------------ +// Replaces all occurences of sSearch within sString with sReplace +//------------------------------------------------------------------------------ +string SearchAndReplace(string sString, string sSearch, string sReplace); + +//------------------------------------------------------------------------------ +// Return the nth word of sString, delimited by sDelimiter +//------------------------------------------------------------------------------ +string FetchWord(string sString, string sDelimiter, int n); + + +string FirstWord(string sString, string sDelimiter = " ") +{ if (FindSubString(sString, sDelimiter) == -1) + { return sString; } + else + { return GetStringLeft(sString, FindSubString(sString, sDelimiter)); } +} + +string RestWords(string sString, string sDelimiter = " ") +{ if (FindSubString(sString, sDelimiter) == -1) + { return ""; } + else + { return GetStringRight(sString, GetStringLength(sString) - FindSubString(sString, sDelimiter) - GetStringLength(sDelimiter)); } +} + +string SearchAndReplace(string sString, string sSearch, string sReplace) +{ string sNewString = ""; + int iOffset = FindSubString(sString, sSearch); + while (iOffset != -1) + { sNewString += FirstWord(sString, sSearch) + sReplace; + sString = RestWords(sString, sSearch); + iOffset = FindSubString(sString, sSearch); + } + return sNewString + sString; +} + +string FetchWord(string sString, string sDelimiter, int n) +{ int iLoop = 0; + string sWord = ""; + while (iLoop < n) + { sWord = FirstWord(sString, sDelimiter); + sString = RestWords(sString, sDelimiter); + iLoop++; + } + return sWord; +} + +int CountWords(string sString, string sDelimiter) +{ int iCount = 0; + int iPos = 0; + + while (iPos != -1) + { iPos = FindSubString(sString, sDelimiter, iPos); + if (iPos != -1) + { iCount++; + iPos = iPos + GetStringLength(sDelimiter); + } + } + + return iCount; +} + +int FindWord(string sString, string sSubString, string sDelimiter) +{ int iPos = FindSubString(sDelimiter + sString + sDelimiter, sDelimiter + sSubString + sDelimiter); + if (iPos == -1) + { return FALSE; } + + iPos = iPos - GetStringLength(sDelimiter); + sString = GetSubString(sString, 0, iPos); + + return CountWords(sString, sDelimiter); +} + +string LastWord(string sString, string sDelimiter) +{ int iDelLen = GetStringLength(sDelimiter); + int iPos = GetStringLength(sString) - iDelLen; + + while ((iPos > 0) && (GetSubString(sString, iPos, iDelLen) != sDelimiter)) + { iPos--; } + + if (GetSubString(sString, iPos, iDelLen) == sDelimiter) + { iPos += iDelLen; } + + return GetStringRight(sString, GetStringLength(sString) - iPos); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/manehide.uti b/cep_blueprints/_hak/prc_add_sb/manehide.uti new file mode 100644 index 0000000..6fc4da7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/manehide.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/maruthide.uti b/cep_blueprints/_hak/prc_add_sb/maruthide.uti new file mode 100644 index 0000000..b9f19ad Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/maruthide.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/marutslam1.uti b/cep_blueprints/_hak/prc_add_sb/marutslam1.uti new file mode 100644 index 0000000..d02d045 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/marutslam1.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/marutslam2.uti b/cep_blueprints/_hak/prc_add_sb/marutslam2.uti new file mode 100644 index 0000000..d9e9eb0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/marutslam2.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_capture.ncs b/cep_blueprints/_hak/prc_add_sb/mcs_capture.ncs new file mode 100644 index 0000000..11f7d0d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mcs_capture.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_capture.nss b/cep_blueprints/_hak/prc_add_sb/mcs_capture.nss new file mode 100644 index 0000000..75aef79 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mcs_capture.nss @@ -0,0 +1,64 @@ +#include "mali_string_fns" + + +string RecordCreature(object oCreature) +{ string sRecord = GetResRef(oCreature) + "|"; + sRecord += SearchAndReplace(GetName(oCreature), "|", ":") + "|"; + sRecord += SearchAndReplace(GetDescription(oCreature), "|", ":") + "|"; + sRecord += IntToString(GetPortraitId(oCreature)) + "|"; + sRecord += GetPortraitResRef(oCreature) + "|"; + sRecord += IntToString(GetAppearanceType(oCreature)) + "|"; + sRecord += IntToString(GetPhenoType(oCreature)) + "|"; + sRecord += IntToString(GetCreatureTailType(oCreature)) + "|"; + sRecord += IntToString(GetCreatureWingType(oCreature)) + "|"; + sRecord += IntToString(GetCreatureBodyPart(CREATURE_PART_HEAD, oCreature)) + "|"; + + int iLoop = 0; + while (iLoop < 18) + { sRecord += IntToString(GetCreatureBodyPart(iLoop, oCreature)) + "|"; + iLoop++; + } + + iLoop = 0; + while (iLoop < 4) + { sRecord += IntToString(GetColor(oCreature, iLoop)) + "|"; + iLoop++; + } + + sRecord += "<<>>" + "|"; + + return sRecord; +} + + +void main() +{ + string sEncounterArea = GetLocalString(OBJECT_SELF, "sEncounterArea"); + int iConvChoice = GetLocalInt(OBJECT_SELF, "iConvChoice"); + DeleteLocalInt(OBJECT_SELF, "iConvChoice"); + + string sCell = IntToString(iConvChoice) + sEncounterArea; + object oWP = GetObjectByTag("WP_ENC_" + sCell); + object oSign = GetObjectByTag("SIGN_ENC_" + sCell); + string sDesc = ""; + object oOrb = GetNearestObjectByTag("MCS_ORB"); + + int iLoop = 1; + object oCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, oWP, iLoop); + + while (GetIsObjectValid(oCreature) && (GetDistanceBetween(oWP, oCreature) < 8.0) && (iLoop < 10)) + { sDesc += RecordCreature(oCreature); + iLoop++; + oCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, oWP, iLoop); + } + + if ((iLoop - 1 ) < 1) + { SendMessageToPC(OBJECT_SELF, "ERROR: Containment cell " + sCell + " is empty!"); } + else + { object oMCS = CreateItemOnObject("mali_mcs"); + SetName(oMCS, GetName(oSign)); + SetDescription(oMCS, IntToString(iLoop - 1) + "|" + sDesc, FALSE); + effect eWrite = EffectBeam(VFX_BEAM_SILENT_EVIL, oOrb, BODY_NODE_CHEST); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eWrite, OBJECT_SELF, 0.5f); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_inc.nss b/cep_blueprints/_hak/prc_add_sb/mcs_inc.nss new file mode 100644 index 0000000..bd54a44 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mcs_inc.nss @@ -0,0 +1,102 @@ +#include "mali_string_fns" + +void RestoreCreature(object oCreature, string sRecord) +{ string sField = FirstWord(sRecord, "|"); + sRecord = RestWords(sRecord, "|"); + if (GetName(oCreature) != sField) + { SetName(oCreature, sField); } + + sField = FirstWord(sRecord, "|"); + sRecord = RestWords(sRecord, "|"); + if (GetDescription(oCreature) != sField) + { SetDescription(oCreature, sField); } + + int iField = StringToInt(FirstWord(sRecord, "|")); + sRecord = RestWords(sRecord, "|"); + if (iField != PORTRAIT_INVALID) + { SetPortraitId(oCreature, iField); + sRecord = RestWords(sRecord, "|"); + } + else + { sField = FirstWord(sRecord, "|"); + SetPortraitResRef(oCreature, sField); + } + + iField = StringToInt(FirstWord(sRecord, "|")); + sRecord = RestWords(sRecord, "|"); + if (GetAppearanceType(oCreature) != iField) + { SetCreatureAppearanceType(oCreature, iField); } + + iField = StringToInt(FirstWord(sRecord, "|")); + sRecord = RestWords(sRecord, "|"); + if (GetPhenoType(oCreature) != iField) + { SetPhenoType(iField, oCreature); } + + iField = StringToInt(FirstWord(sRecord, "|")); + sRecord = RestWords(sRecord, "|"); + if (GetCreatureTailType(oCreature) != iField) + { SetCreatureTailType(iField, oCreature); } + + iField = StringToInt(FirstWord(sRecord, "|")); + sRecord = RestWords(sRecord, "|"); + if (GetCreatureWingType(oCreature) != iField) + { SetCreatureWingType(iField, oCreature); } + + iField = StringToInt(FirstWord(sRecord, "|")); + sRecord = RestWords(sRecord, "|"); + if (GetCreatureBodyPart(CREATURE_PART_HEAD, oCreature) != iField) + { SetCreatureBodyPart(CREATURE_PART_HEAD, iField, oCreature); } + + int iLoop = 0; + while (iLoop < 18) + { iField = StringToInt(FirstWord(sRecord, "|")); + sRecord = RestWords(sRecord, "|"); + if (GetCreatureBodyPart(iLoop, oCreature) != iField) + { SetCreatureBodyPart(iLoop, iField, oCreature); } + iLoop++; + } + + iLoop = 0; + while (iLoop < 4) + { iField = StringToInt(FirstWord(sRecord, "|")); + sRecord = RestWords(sRecord, "|"); + if (GetColor(oCreature, iLoop) != iField) + { SetColor(oCreature, iLoop, iField); } + iLoop++; + } + + if (GetStringLength(sRecord) == 0) { return; } + + string sFaction = FirstWord(sRecord, "|"); + sRecord = RestWords(sRecord, "|"); + + if (sFaction == "") { return; } + + object oFactionNPC = GetObjectByTag("Faction_" + sFaction); + if (GetIsObjectValid(oFactionNPC)) + { ChangeFaction(oCreature, oFactionNPC); } + + return; +} + +object FindMCSBag(string sMCS_Unit, string sName) +{ object oMCS_Unit = GetObjectByTag(sMCS_Unit); + if (!GetIsObjectValid(oMCS_Unit)) { return OBJECT_INVALID; } + + object oMCS = GetFirstItemInInventory(oMCS_Unit); + + string sBagName; + int iLoop = TRUE; + + while (iLoop) + { if (!GetIsObjectValid(oMCS)) + { iLoop = FALSE; } + else if (GetStringLowerCase(sName) == GetStringLowerCase(SearchAndReplace(SearchAndReplace(GetName(oMCS), ",", ""), " ", ""))) + { iLoop = FALSE; } + else + { oMCS = GetNextItemInInventory(oMCS_Unit); } + } + + return oMCS; +} + diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_release.ncs b/cep_blueprints/_hak/prc_add_sb/mcs_release.ncs new file mode 100644 index 0000000..9724644 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mcs_release.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_release.nss b/cep_blueprints/_hak/prc_add_sb/mcs_release.nss new file mode 100644 index 0000000..899be32 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mcs_release.nss @@ -0,0 +1,110 @@ +#include "mali_string_fns" + +void RestoreCreature(object oCreature, string sRecord) +{ string sField = FirstWord(sRecord, "|"); + sRecord = RestWords(sRecord, "|"); + if (GetName(oCreature) != sField) + { SetName(oCreature, sField); } + + sField = FirstWord(sRecord, "|"); + sRecord = RestWords(sRecord, "|"); + if (GetDescription(oCreature) != sField) + { SetDescription(oCreature, sField); } + + int iField = StringToInt(FirstWord(sRecord, "|")); + sRecord = RestWords(sRecord, "|"); + if (iField != PORTRAIT_INVALID) + { SetPortraitId(oCreature, iField); + sRecord = RestWords(sRecord, "|"); + } + else + { sField = FirstWord(sRecord, "|"); + SetPortraitResRef(oCreature, sField); + } + + iField = StringToInt(FirstWord(sRecord, "|")); + sRecord = RestWords(sRecord, "|"); + if (GetAppearanceType(oCreature) != iField) + { SetCreatureAppearanceType(oCreature, iField); } + + iField = StringToInt(FirstWord(sRecord, "|")); + sRecord = RestWords(sRecord, "|"); + if (GetPhenoType(oCreature) != iField) + { SetPhenoType(iField, oCreature); } + + iField = StringToInt(FirstWord(sRecord, "|")); + sRecord = RestWords(sRecord, "|"); + if (GetCreatureTailType(oCreature) != iField) + { SetCreatureTailType(iField, oCreature); } + + iField = StringToInt(FirstWord(sRecord, "|")); + sRecord = RestWords(sRecord, "|"); + if (GetCreatureWingType(oCreature) != iField) + { SetCreatureWingType(iField, oCreature); } + + iField = StringToInt(FirstWord(sRecord, "|")); + sRecord = RestWords(sRecord, "|"); + if (GetCreatureBodyPart(CREATURE_PART_HEAD, oCreature) != iField) + { SetCreatureBodyPart(CREATURE_PART_HEAD, iField, oCreature); } + + int iLoop = 0; + while (iLoop < 18) + { iField = StringToInt(FirstWord(sRecord, "|")); + sRecord = RestWords(sRecord, "|"); + if (GetCreatureBodyPart(iLoop, oCreature) != iField) + { SetCreatureBodyPart(iLoop, iField, oCreature); } + iLoop++; + } + + iLoop = 0; + while (iLoop < 4) + { iField = StringToInt(FirstWord(sRecord, "|")); + sRecord = RestWords(sRecord, "|"); + if (GetColor(oCreature, iLoop) != iField) + { SetColor(oCreature, iLoop, iField); } + iLoop++; + } + + return; +} + + +void main() +{ + object oMCS; + if (GetLocalInt(OBJECT_SELF, "iENC_ditto") == TRUE) + { oMCS = GetLocalObject(OBJECT_SELF, "oENC_LastSpawn"); + DeleteLocalInt(OBJECT_SELF, "iENC_ditto"); + } + else + { oMCS = GetLocalObject(OBJECT_SELF, "oMCS_Device"); + SetLocalObject(OBJECT_SELF, "oENC_LastSpawn", oMCS); + } + + string sDesc = GetDescription(oMCS, FALSE, FALSE); + string sRecord; + object oCreature; + object oNewCreature; + location lSpawn = GetLocalLocation(OBJECT_SELF, "lMCS_Spawn"); + DeleteLocalLocation(OBJECT_SELF, "lMCS_Spawn"); + location lHoldingCell = GetLocation(GetWaypointByTag("MCS_CELL")); + + int iCreatures = StringToInt(FirstWord(sDesc, "|")); + sDesc = RestWords(sDesc, "|"); + + int iLoop = 0; + while (iLoop < iCreatures) + { oCreature = CreateObject(OBJECT_TYPE_CREATURE, FirstWord(sDesc, "|"), lHoldingCell); + sDesc = RestWords(sDesc, "|"); + sRecord = FirstWord(sDesc, "<<>>|"); + sDesc = RestWords(sDesc, "<<>>|"); + + RestoreCreature(oCreature, sRecord); + + oNewCreature = CopyObject(oCreature, lSpawn); + AssignCommand(oNewCreature, ActionRandomWalk()); + DestroyObject(oCreature); + iLoop++; + } + +} diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_setarea_n.ncs b/cep_blueprints/_hak/prc_add_sb/mcs_setarea_n.ncs new file mode 100644 index 0000000..e5a0834 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mcs_setarea_n.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_setarea_n.nss b/cep_blueprints/_hak/prc_add_sb/mcs_setarea_n.nss new file mode 100644 index 0000000..ce6b6c6 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mcs_setarea_n.nss @@ -0,0 +1,5 @@ +void main() +{ + SetLocalString(OBJECT_SELF, "sEncounterArea", "N"); + SetLocalString(OBJECT_SELF, "sConvScript", "mcs_capture"); +} diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_setarea_n2.ncs b/cep_blueprints/_hak/prc_add_sb/mcs_setarea_n2.ncs new file mode 100644 index 0000000..dbd54b9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mcs_setarea_n2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_setarea_n2.nss b/cep_blueprints/_hak/prc_add_sb/mcs_setarea_n2.nss new file mode 100644 index 0000000..c4012cb --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mcs_setarea_n2.nss @@ -0,0 +1,6 @@ +void main() +{ + SetLocalString(OBJECT_SELF, "sEncounterArea", "N"); + SetLocalString(OBJECT_SELF, "sConvScript", "mcs_release"); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_setarea_s.ncs b/cep_blueprints/_hak/prc_add_sb/mcs_setarea_s.ncs new file mode 100644 index 0000000..a9102e4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mcs_setarea_s.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_setarea_s.nss b/cep_blueprints/_hak/prc_add_sb/mcs_setarea_s.nss new file mode 100644 index 0000000..a603d1e --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mcs_setarea_s.nss @@ -0,0 +1,5 @@ +void main() +{ + SetLocalString(OBJECT_SELF, "sEncounterArea", "S"); + SetLocalString(OBJECT_SELF, "sConvScript", "mcs_capture"); +} diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_setarea_s2.ncs b/cep_blueprints/_hak/prc_add_sb/mcs_setarea_s2.ncs new file mode 100644 index 0000000..80113f1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mcs_setarea_s2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_setarea_s2.nss b/cep_blueprints/_hak/prc_add_sb/mcs_setarea_s2.nss new file mode 100644 index 0000000..15313c7 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mcs_setarea_s2.nss @@ -0,0 +1,6 @@ +void main() +{ + SetLocalString(OBJECT_SELF, "sEncounterArea", "S"); + SetLocalString(OBJECT_SELF, "sConvScript", "mcs_release"); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_setdevice.ncs b/cep_blueprints/_hak/prc_add_sb/mcs_setdevice.ncs new file mode 100644 index 0000000..d4a3afc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mcs_setdevice.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_setdevice.nss b/cep_blueprints/_hak/prc_add_sb/mcs_setdevice.nss new file mode 100644 index 0000000..6066211 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mcs_setdevice.nss @@ -0,0 +1,18 @@ +void main() +{ + int iPageLen = 10; + int iPage = GetLocalInt(OBJECT_SELF, "iConvPage"); + int iChoice = GetLocalInt(OBJECT_SELF, "iConvChoice"); + + int iOffset = iPage * iPageLen; + + int iDeviceNum = (iChoice - 1) + iOffset; + + object oMCS = GetLocalObject(OBJECT_SELF, "oConvItem_" + IntToString(iDeviceNum)); + SetLocalObject(OBJECT_SELF, "oMCS_Device", oMCS); + DeleteLocalInt(OBJECT_SELF, "iConvChoice"); + DeleteLocalString(OBJECT_SELF, "sConvScript"); + + ExecuteScript("mcs_release", OBJECT_SELF); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_setstorage.ncs b/cep_blueprints/_hak/prc_add_sb/mcs_setstorage.ncs new file mode 100644 index 0000000..e1b1e46 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mcs_setstorage.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_setstorage.nss b/cep_blueprints/_hak/prc_add_sb/mcs_setstorage.nss new file mode 100644 index 0000000..778df89 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mcs_setstorage.nss @@ -0,0 +1,30 @@ +void main() +{ + int iDeviceNum = GetLocalInt(OBJECT_SELF, "iConvChoice"); + string sMCSTag = "ENC_MCS_" + IntToString(iDeviceNum); + object oMCS = GetObjectByTag(sMCSTag); + DeleteLocalInt(OBJECT_SELF, "iConvChoice"); + DeleteLocalString(OBJECT_SELF, "sConvScript"); + + object oItem = GetFirstItemInInventory(oMCS); + int iLoop = 0; + + while (GetIsObjectValid(oItem)) + { if (GetTag(oItem) == "mali_mcs") + { SetLocalObject(OBJECT_SELF, "oTempItem_" + IntToString(iLoop), oItem); + iLoop++; + } + oItem = GetNextItemInInventory(oMCS); + } + + SetLocalInt(OBJECT_SELF, "iConvTotal", iLoop); + + iLoop--; + int iRef = iLoop; + + while (iLoop >= 0) + { oItem = GetLocalObject(OBJECT_SELF, "oTempItem_" + IntToString(iLoop)); + SetLocalObject(OBJECT_SELF, "oConvItem_" + IntToString(iRef - iLoop), oItem); + iLoop--; + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_settokens.ncs b/cep_blueprints/_hak/prc_add_sb/mcs_settokens.ncs new file mode 100644 index 0000000..ef5290b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mcs_settokens.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_settokens.nss b/cep_blueprints/_hak/prc_add_sb/mcs_settokens.nss new file mode 100644 index 0000000..cb05174 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mcs_settokens.nss @@ -0,0 +1,16 @@ +int StartingConditional() +{ + object oMCS; + int iLoop = 1; + + while (iLoop < 15) + { oMCS = GetObjectByTag("ENC_MCS_" + IntToString(iLoop)); + SetCustomToken(11050 + iLoop, GetName(oMCS)); + iLoop++; + } + + SetLocalString(OBJECT_SELF, "sConvScript", "mcs_setstorage"); + DeleteLocalInt(OBJECT_SELF, "iConvPage"); + + return TRUE; +} diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_settokens2.ncs b/cep_blueprints/_hak/prc_add_sb/mcs_settokens2.ncs new file mode 100644 index 0000000..35e6a9f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mcs_settokens2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/mcs_settokens2.nss b/cep_blueprints/_hak/prc_add_sb/mcs_settokens2.nss new file mode 100644 index 0000000..d6d37d9 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/mcs_settokens2.nss @@ -0,0 +1,24 @@ +int StartingConditional() +{ + object oItem; + string sName; + int iBaseToken = 11051; + int iPageLen = 10; + + int iPage = GetLocalInt(OBJECT_SELF, "iConvPage"); + int iTotalItems = GetLocalInt(OBJECT_SELF, "iConvTotal"); + + int iLoop = 0; + int iOffset = (iPage * iPageLen); + + while ((iLoop < iPageLen) && ((iLoop + iOffset) < iTotalItems)) + { oItem = GetLocalObject(OBJECT_SELF, "oConvItem_" + IntToString(iLoop + iOffset)); + sName = GetName(oItem); + SetCustomToken(iBaseToken + iLoop, sName); + iLoop++; + } + + SetLocalString(OBJECT_SELF, "sConvScript", "mcs_setdevice"); + + return TRUE; +} diff --git a/cep_blueprints/_hak/prc_add_sb/meenlockhide.uti b/cep_blueprints/_hak/prc_add_sb/meenlockhide.uti new file mode 100644 index 0000000..b809af8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/meenlockhide.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/metalpitpcbl.utp b/cep_blueprints/_hak/prc_add_sb/metalpitpcbl.utp new file mode 100644 index 0000000..4b1baaf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/metalpitpcbl.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/mezzolothskin.uti b/cep_blueprints/_hak/prc_add_sb/mezzolothskin.uti new file mode 100644 index 0000000..e51bc0e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mezzolothskin.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/mil_clothing668.uti b/cep_blueprints/_hak/prc_add_sb/mil_clothing668.uti new file mode 100644 index 0000000..fdc0b97 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mil_clothing668.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/mil_clothing669.uti b/cep_blueprints/_hak/prc_add_sb/mil_clothing669.uti new file mode 100644 index 0000000..06ff5f0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mil_clothing669.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/mil_dyekit001.uti b/cep_blueprints/_hak/prc_add_sb/mil_dyekit001.uti new file mode 100644 index 0000000..9e67963 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mil_dyekit001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/modroneskin.uti b/cep_blueprints/_hak/prc_add_sb/modroneskin.uti new file mode 100644 index 0000000..b676f8d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/modroneskin.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/mount_horse.dlg b/cep_blueprints/_hak/prc_add_sb/mount_horse.dlg new file mode 100644 index 0000000..5e57d45 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/mount_horse.dlg differ diff --git a/cep_blueprints/_hak/prc_add_sb/nightmare003.utc b/cep_blueprints/_hak/prc_add_sb/nightmare003.utc new file mode 100644 index 0000000..ae9df22 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/nightmare003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/nightmare004.utc b/cep_blueprints/_hak/prc_add_sb/nightmare004.utc new file mode 100644 index 0000000..13dfb16 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/nightmare004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/nightmarecauchem.utc b/cep_blueprints/_hak/prc_add_sb/nightmarecauchem.utc new file mode 100644 index 0000000..90cceca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/nightmarecauchem.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/nw_ch_aca.ncs b/cep_blueprints/_hak/prc_add_sb/nw_ch_aca.ncs new file mode 100644 index 0000000..ecb1c72 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/nw_ch_aca.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/nw_ch_aca.nss b/cep_blueprints/_hak/prc_add_sb/nw_ch_aca.nss new file mode 100644 index 0000000..eb6d543 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/nw_ch_aca.nss @@ -0,0 +1,14 @@ +/* + This script was an old Bioware resource that was removed from the game. + + It is included here to fix the "missing resource" error for certain + creature templates when "Build Module" is executed. + + Its far easier to include an empty script than to remove the reference + from dozens of templates. +*/ + +void main() +{ + +} diff --git a/cep_blueprints/_hak/prc_add_sb/open_store.ncs b/cep_blueprints/_hak/prc_add_sb/open_store.ncs new file mode 100644 index 0000000..ec96671 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/open_store.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/open_store.nss b/cep_blueprints/_hak/prc_add_sb/open_store.nss new file mode 100644 index 0000000..b1d36dc --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/open_store.nss @@ -0,0 +1,26 @@ +//:://///////////////////////////////////////////// +//:: FileName open_store +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: Otwyn +//:: Created On: 9/02/2003 +//:: +//:: Place this script in the Action Taken tab of +//:: a conversation node. +//:: Paint a merchant near the NPC that called the +//:: conversation with tag of 'Store_' where +//:: is the NPC's tag. +//::////////////////////////////////////////////// +#include "nw_i0_plot" + +void main() +{ + string sStore = GetTag(OBJECT_SELF); + + object oStore = GetNearestObjectByTag("Store_"+sStore); + if(GetObjectType(oStore) == OBJECT_TYPE_STORE) + gplotAppraiseOpenStore(oStore, GetPCSpeaker()); + else + ActionSpeakStringByStrRef(53090, TALKVOLUME_TALK); + +} diff --git a/cep_blueprints/_hak/prc_add_sb/oschorehide.uti b/cep_blueprints/_hak/prc_add_sb/oschorehide.uti new file mode 100644 index 0000000..d5abe1b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/oschorehide.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/osyluthhide.uti b/cep_blueprints/_hak/prc_add_sb/osyluthhide.uti new file mode 100644 index 0000000..db8a5a6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/osyluthhide.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/osyluthsting.uti b/cep_blueprints/_hak/prc_add_sb/osyluthsting.uti new file mode 100644 index 0000000..de519ae Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/osyluthsting.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/pegasus.utc b/cep_blueprints/_hak/prc_add_sb/pegasus.utc new file mode 100644 index 0000000..de1aa8a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/pegasus.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/pittraprug.utt b/cep_blueprints/_hak/prc_add_sb/pittraprug.utt new file mode 100644 index 0000000..4f8b7df Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/pittraprug.utt differ diff --git a/cep_blueprints/_hak/prc_add_sb/pittraprug001.utt b/cep_blueprints/_hak/prc_add_sb/pittraprug001.utt new file mode 100644 index 0000000..98bf42a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/pittraprug001.utt differ diff --git a/cep_blueprints/_hak/prc_add_sb/plx_socialstool.utp b/cep_blueprints/_hak/prc_add_sb/plx_socialstool.utp new file mode 100644 index 0000000..35b1b62 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/plx_socialstool.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/pointthefinger.ncs b/cep_blueprints/_hak/prc_add_sb/pointthefinger.ncs new file mode 100644 index 0000000..4d043b3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/pointthefinger.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/pointthefinger.nss b/cep_blueprints/_hak/prc_add_sb/pointthefinger.nss new file mode 100644 index 0000000..2687904 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/pointthefinger.nss @@ -0,0 +1,50 @@ +// DM Target Tool +// by Malishara +//::////////////////////////////////////////////////////////// +#include "x2_inc_switches" + +string ShowVector(vector vSomewhere) +{ string sVector = FloatToString(vSomewhere.x, 0, 2) + "x " + + FloatToString(vSomewhere.y, 0, 2) + "y " + + FloatToString(vSomewhere.z, 0, 2) + "z"; + return sVector; +} + +// This is the main function for the tag-based script. +void main() +{ switch( GetUserDefinedItemEventNumber()) + { case X2_ITEM_EVENT_ACTIVATE: + { // The item's CastSpell Activate or CastSpell UniquePower was just activated. + object oItemUser = GetItemActivator(); + object oItem = GetItemActivated(); + object oTarget = GetItemActivatedTarget(); + location lTarget = (GetIsObjectValid( oTarget) ? GetLocation( oTarget) : GetItemActivatedTargetLocation()); + if( !GetIsObjectValid( oItemUser) || !GetIsObjectValid( oItem)) + { SetExecutedScriptReturnValue( X2_EXECUTE_SCRIPT_CONTINUE); + return; + } + + if(!GetIsObjectValid(oTarget)) + { string sTargetLoc = ShowVector(GetPositionFromLocation(lTarget)); + SendMessageToPC(oItemUser, "Targeted location " + sTargetLoc); + SetLocalString(oItemUser, "DM_Tool_TargetLoc", sTargetLoc); + return; + } + + SetLocalObject(oItemUser, "DM_Tool_Target", oTarget); + SendMessageToPC(oItemUser, "Targeted " + GetName(oTarget)); + + if (GetHasInventory(oTarget) && + ((GetObjectType(oTarget) == OBJECT_TYPE_ITEM) || + (GetObjectType(oTarget) == OBJECT_TYPE_PLACEABLE))) + { SetLocalObject(oItemUser, "oDM_Bag1", GetLocalObject(oItemUser, "oDM_Bag2")); + SetLocalObject(oItemUser, "oDM_Bag2", oTarget); + } + + } + SetExecutedScriptReturnValue( X2_EXECUTE_SCRIPT_END); + return; + + } + SetExecutedScriptReturnValue( X2_EXECUTE_SCRIPT_CONTINUE); +} diff --git a/cep_blueprints/_hak/prc_add_sb/pointthefinger.uti b/cep_blueprints/_hak/prc_add_sb/pointthefinger.uti new file mode 100644 index 0000000..d9a1ee5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/pointthefinger.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/pointthefingertl.ncs b/cep_blueprints/_hak/prc_add_sb/pointthefingertl.ncs new file mode 100644 index 0000000..5b95a88 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/pointthefingertl.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/pointthefingertl.nss b/cep_blueprints/_hak/prc_add_sb/pointthefingertl.nss new file mode 100644 index 0000000..07ae744 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/pointthefingertl.nss @@ -0,0 +1,36 @@ +// DM Target Tool +// by Malishara +//::////////////////////////////////////////////////////////// + +string ShowVector(vector vSomewhere) +{ string sVector = FloatToString(vSomewhere.x, 0, 2) + "x " + + FloatToString(vSomewhere.y, 0, 2) + "y " + + FloatToString(vSomewhere.z, 0, 2) + "z"; + return sVector; +} + +void main() +{ + object oItemUser = OBJECT_SELF; + object oTarget = GetSpellTargetObject(); + location lTarget = GetSpellTargetLocation(); + + + if(!GetIsObjectValid(oTarget)) + { string sTargetLoc = ShowVector(GetPositionFromLocation(lTarget)); + SendMessageToPC(oItemUser, "Targeted location " + sTargetLoc); + SetLocalString(oItemUser, "DM_Tool_TargetLoc", sTargetLoc); + return; + } + + SetLocalObject(oItemUser, "DM_Tool_Target", oTarget); + SendMessageToPC(oItemUser, "Targeted " + GetName(oTarget)); + + if (GetHasInventory(oTarget) && + ((GetObjectType(oTarget) == OBJECT_TYPE_ITEM) || + (GetObjectType(oTarget) == OBJECT_TYPE_PLACEABLE))) + { SetLocalObject(oItemUser, "oDM_Bag1", GetLocalObject(oItemUser, "oDM_Bag2")); + SetLocalObject(oItemUser, "oDM_Bag2", oTarget); + } + +} diff --git a/cep_blueprints/_hak/prc_add_sb/razorwirepcbl.utp b/cep_blueprints/_hak/prc_add_sb/razorwirepcbl.utp new file mode 100644 index 0000000..a89c98a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/razorwirepcbl.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/razorwiretrap.utt b/cep_blueprints/_hak/prc_add_sb/razorwiretrap.utt new file mode 100644 index 0000000..012fe8d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/razorwiretrap.utt differ diff --git a/cep_blueprints/_hak/prc_add_sb/rollingrockpcbl.utp b/cep_blueprints/_hak/prc_add_sb/rollingrockpcbl.utp new file mode 100644 index 0000000..9b8ca93 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/rollingrockpcbl.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/rollingrocktr001.utt b/cep_blueprints/_hak/prc_add_sb/rollingrocktr001.utt new file mode 100644 index 0000000..5381156 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/rollingrocktr001.utt differ diff --git a/cep_blueprints/_hak/prc_add_sb/rollingrocktr002.utt b/cep_blueprints/_hak/prc_add_sb/rollingrocktr002.utt new file mode 100644 index 0000000..b42f784 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/rollingrocktr002.utt differ diff --git a/cep_blueprints/_hak/prc_add_sb/rollingrocktrap.utt b/cep_blueprints/_hak/prc_add_sb/rollingrocktrap.utt new file mode 100644 index 0000000..58bffe3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/rollingrocktrap.utt differ diff --git a/cep_blueprints/_hak/prc_add_sb/rugpitpcbl.utp b/cep_blueprints/_hak/prc_add_sb/rugpitpcbl.utp new file mode 100644 index 0000000..dc95a25 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/rugpitpcbl.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice1.ncs b/cep_blueprints/_hak/prc_add_sb/run_convchoice1.ncs new file mode 100644 index 0000000..e703ba4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convchoice1.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice1.nss b/cep_blueprints/_hak/prc_add_sb/run_convchoice1.nss new file mode 100644 index 0000000..64c4a59 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convchoice1.nss @@ -0,0 +1,7 @@ +void main() +{ + object oPC = GetPCSpeaker(); + SetLocalInt(oPC, "iConvChoice", 1); + string sScript = GetLocalString(oPC, "sConvScript"); + ExecuteScript(sScript, oPC); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice10.ncs b/cep_blueprints/_hak/prc_add_sb/run_convchoice10.ncs new file mode 100644 index 0000000..d77265c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convchoice10.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice10.nss b/cep_blueprints/_hak/prc_add_sb/run_convchoice10.nss new file mode 100644 index 0000000..9655b7f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convchoice10.nss @@ -0,0 +1,7 @@ +void main() +{ + object oPC = GetPCSpeaker(); + SetLocalInt(oPC, "iConvChoice", 10); + string sScript = GetLocalString(oPC, "sConvScript"); + ExecuteScript(sScript, oPC); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice11.ncs b/cep_blueprints/_hak/prc_add_sb/run_convchoice11.ncs new file mode 100644 index 0000000..8891f05 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convchoice11.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice11.nss b/cep_blueprints/_hak/prc_add_sb/run_convchoice11.nss new file mode 100644 index 0000000..916d1be --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convchoice11.nss @@ -0,0 +1,7 @@ +void main() +{ + object oPC = GetPCSpeaker(); + SetLocalInt(oPC, "iConvChoice", 11); + string sScript = GetLocalString(oPC, "sConvScript"); + ExecuteScript(sScript, oPC); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice12.ncs b/cep_blueprints/_hak/prc_add_sb/run_convchoice12.ncs new file mode 100644 index 0000000..8e21251 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convchoice12.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice12.nss b/cep_blueprints/_hak/prc_add_sb/run_convchoice12.nss new file mode 100644 index 0000000..a1806f8 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convchoice12.nss @@ -0,0 +1,7 @@ +void main() +{ + object oPC = GetPCSpeaker(); + SetLocalInt(oPC, "iConvChoice", 12); + string sScript = GetLocalString(oPC, "sConvScript"); + ExecuteScript(sScript, oPC); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice13.ncs b/cep_blueprints/_hak/prc_add_sb/run_convchoice13.ncs new file mode 100644 index 0000000..e0e8968 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convchoice13.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice13.nss b/cep_blueprints/_hak/prc_add_sb/run_convchoice13.nss new file mode 100644 index 0000000..3b24d69 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convchoice13.nss @@ -0,0 +1,7 @@ +void main() +{ + object oPC = GetPCSpeaker(); + SetLocalInt(oPC, "iConvChoice", 13); + string sScript = GetLocalString(oPC, "sConvScript"); + ExecuteScript(sScript, oPC); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice14.ncs b/cep_blueprints/_hak/prc_add_sb/run_convchoice14.ncs new file mode 100644 index 0000000..33e2db2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convchoice14.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice14.nss b/cep_blueprints/_hak/prc_add_sb/run_convchoice14.nss new file mode 100644 index 0000000..f7717df --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convchoice14.nss @@ -0,0 +1,7 @@ +void main() +{ + object oPC = GetPCSpeaker(); + SetLocalInt(oPC, "iConvChoice", 14); + string sScript = GetLocalString(oPC, "sConvScript"); + ExecuteScript(sScript, oPC); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice2.ncs b/cep_blueprints/_hak/prc_add_sb/run_convchoice2.ncs new file mode 100644 index 0000000..cd75813 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convchoice2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice2.nss b/cep_blueprints/_hak/prc_add_sb/run_convchoice2.nss new file mode 100644 index 0000000..026725f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convchoice2.nss @@ -0,0 +1,7 @@ +void main() +{ + object oPC = GetPCSpeaker(); + SetLocalInt(oPC, "iConvChoice", 2); + string sScript = GetLocalString(oPC, "sConvScript"); + ExecuteScript(sScript, oPC); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice3.ncs b/cep_blueprints/_hak/prc_add_sb/run_convchoice3.ncs new file mode 100644 index 0000000..f49f726 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convchoice3.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice3.nss b/cep_blueprints/_hak/prc_add_sb/run_convchoice3.nss new file mode 100644 index 0000000..01ffc87 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convchoice3.nss @@ -0,0 +1,7 @@ +void main() +{ + object oPC = GetPCSpeaker(); + SetLocalInt(oPC, "iConvChoice", 3); + string sScript = GetLocalString(oPC, "sConvScript"); + ExecuteScript(sScript, oPC); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice4.ncs b/cep_blueprints/_hak/prc_add_sb/run_convchoice4.ncs new file mode 100644 index 0000000..737193d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convchoice4.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice4.nss b/cep_blueprints/_hak/prc_add_sb/run_convchoice4.nss new file mode 100644 index 0000000..799f5bf --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convchoice4.nss @@ -0,0 +1,7 @@ +void main() +{ + object oPC = GetPCSpeaker(); + SetLocalInt(oPC, "iConvChoice", 4); + string sScript = GetLocalString(oPC, "sConvScript"); + ExecuteScript(sScript, oPC); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice5.ncs b/cep_blueprints/_hak/prc_add_sb/run_convchoice5.ncs new file mode 100644 index 0000000..4a0385a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convchoice5.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice5.nss b/cep_blueprints/_hak/prc_add_sb/run_convchoice5.nss new file mode 100644 index 0000000..84860a9 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convchoice5.nss @@ -0,0 +1,7 @@ +void main() +{ + object oPC = GetPCSpeaker(); + SetLocalInt(oPC, "iConvChoice", 5); + string sScript = GetLocalString(oPC, "sConvScript"); + ExecuteScript(sScript, oPC); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice6.ncs b/cep_blueprints/_hak/prc_add_sb/run_convchoice6.ncs new file mode 100644 index 0000000..be8e04b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convchoice6.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice6.nss b/cep_blueprints/_hak/prc_add_sb/run_convchoice6.nss new file mode 100644 index 0000000..d94e098 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convchoice6.nss @@ -0,0 +1,7 @@ +void main() +{ + object oPC = GetPCSpeaker(); + SetLocalInt(oPC, "iConvChoice", 6); + string sScript = GetLocalString(oPC, "sConvScript"); + ExecuteScript(sScript, oPC); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice7.ncs b/cep_blueprints/_hak/prc_add_sb/run_convchoice7.ncs new file mode 100644 index 0000000..7156701 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convchoice7.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice7.nss b/cep_blueprints/_hak/prc_add_sb/run_convchoice7.nss new file mode 100644 index 0000000..b1bb161 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convchoice7.nss @@ -0,0 +1,7 @@ +void main() +{ + object oPC = GetPCSpeaker(); + SetLocalInt(oPC, "iConvChoice", 7); + string sScript = GetLocalString(oPC, "sConvScript"); + ExecuteScript(sScript, oPC); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice8.ncs b/cep_blueprints/_hak/prc_add_sb/run_convchoice8.ncs new file mode 100644 index 0000000..719caeb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convchoice8.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice8.nss b/cep_blueprints/_hak/prc_add_sb/run_convchoice8.nss new file mode 100644 index 0000000..da736ab --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convchoice8.nss @@ -0,0 +1,7 @@ +void main() +{ + object oPC = GetPCSpeaker(); + SetLocalInt(oPC, "iConvChoice", 8); + string sScript = GetLocalString(oPC, "sConvScript"); + ExecuteScript(sScript, oPC); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice9.ncs b/cep_blueprints/_hak/prc_add_sb/run_convchoice9.ncs new file mode 100644 index 0000000..5950da0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convchoice9.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convchoice9.nss b/cep_blueprints/_hak/prc_add_sb/run_convchoice9.nss new file mode 100644 index 0000000..b9a5353 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convchoice9.nss @@ -0,0 +1,7 @@ +void main() +{ + object oPC = GetPCSpeaker(); + SetLocalInt(oPC, "iConvChoice", 9); + string sScript = GetLocalString(oPC, "sConvScript"); + ExecuteScript(sScript, oPC); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convochoice2.ncs b/cep_blueprints/_hak/prc_add_sb/run_convochoice2.ncs new file mode 100644 index 0000000..c5ddf5a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convochoice2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convochoice2.nss b/cep_blueprints/_hak/prc_add_sb/run_convochoice2.nss new file mode 100644 index 0000000..0ac16c9 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convochoice2.nss @@ -0,0 +1,6 @@ +void main() +{ + SetLocalInt(OBJECT_SELF, "iConvoChoice", 2); + string sScript = GetLocalString(OBJECT_SELF, "sConvoScript"); + ExecuteScript(sScript, OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convochoice3.ncs b/cep_blueprints/_hak/prc_add_sb/run_convochoice3.ncs new file mode 100644 index 0000000..87cc781 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convochoice3.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convochoice3.nss b/cep_blueprints/_hak/prc_add_sb/run_convochoice3.nss new file mode 100644 index 0000000..e792bc1 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convochoice3.nss @@ -0,0 +1,6 @@ +void main() +{ + SetLocalInt(OBJECT_SELF, "iConvoChoice", 3); + string sScript = GetLocalString(OBJECT_SELF, "sConvoScript"); + ExecuteScript(sScript, OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convochoice4.ncs b/cep_blueprints/_hak/prc_add_sb/run_convochoice4.ncs new file mode 100644 index 0000000..dc3ac8e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convochoice4.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convochoice4.nss b/cep_blueprints/_hak/prc_add_sb/run_convochoice4.nss new file mode 100644 index 0000000..751b35a --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convochoice4.nss @@ -0,0 +1,6 @@ +void main() +{ + SetLocalInt(OBJECT_SELF, "iConvoChoice", 4); + string sScript = GetLocalString(OBJECT_SELF, "sConvoScript"); + ExecuteScript(sScript, OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convochoice5.ncs b/cep_blueprints/_hak/prc_add_sb/run_convochoice5.ncs new file mode 100644 index 0000000..3258783 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convochoice5.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convochoice5.nss b/cep_blueprints/_hak/prc_add_sb/run_convochoice5.nss new file mode 100644 index 0000000..be5cdfd --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convochoice5.nss @@ -0,0 +1,6 @@ +void main() +{ + SetLocalInt(OBJECT_SELF, "iConvoChoice", 5); + string sScript = GetLocalString(OBJECT_SELF, "sConvoScript"); + ExecuteScript(sScript, OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convochoice6.ncs b/cep_blueprints/_hak/prc_add_sb/run_convochoice6.ncs new file mode 100644 index 0000000..bcaffb6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convochoice6.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convochoice6.nss b/cep_blueprints/_hak/prc_add_sb/run_convochoice6.nss new file mode 100644 index 0000000..5815613 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convochoice6.nss @@ -0,0 +1,6 @@ +void main() +{ + SetLocalInt(OBJECT_SELF, "iConvoChoice", 6); + string sScript = GetLocalString(OBJECT_SELF, "sConvoScript"); + ExecuteScript(sScript, OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convochoice7.ncs b/cep_blueprints/_hak/prc_add_sb/run_convochoice7.ncs new file mode 100644 index 0000000..f4e6022 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convochoice7.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convochoice7.nss b/cep_blueprints/_hak/prc_add_sb/run_convochoice7.nss new file mode 100644 index 0000000..c88e7be --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convochoice7.nss @@ -0,0 +1,6 @@ +void main() +{ + SetLocalInt(OBJECT_SELF, "iConvoChoice", 7); + string sScript = GetLocalString(OBJECT_SELF, "sConvoScript"); + ExecuteScript(sScript, OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convochoice8.ncs b/cep_blueprints/_hak/prc_add_sb/run_convochoice8.ncs new file mode 100644 index 0000000..169379a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convochoice8.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convochoice8.nss b/cep_blueprints/_hak/prc_add_sb/run_convochoice8.nss new file mode 100644 index 0000000..c6f5d1a --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convochoice8.nss @@ -0,0 +1,6 @@ +void main() +{ + SetLocalInt(OBJECT_SELF, "iConvoChoice", 8); + string sScript = GetLocalString(OBJECT_SELF, "sConvoScript"); + ExecuteScript(sScript, OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/run_convochoice9.ncs b/cep_blueprints/_hak/prc_add_sb/run_convochoice9.ncs new file mode 100644 index 0000000..a8d9f18 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/run_convochoice9.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/run_convochoice9.nss b/cep_blueprints/_hak/prc_add_sb/run_convochoice9.nss new file mode 100644 index 0000000..1b499b1 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/run_convochoice9.nss @@ -0,0 +1,6 @@ +void main() +{ + SetLocalInt(OBJECT_SELF, "iConvoChoice", 9); + string sScript = GetLocalString(OBJECT_SELF, "sConvoScript"); + ExecuteScript(sScript, OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/saddlebag.utp b/cep_blueprints/_hak/prc_add_sb/saddlebag.utp new file mode 100644 index 0000000..82d9ed5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/saddlebag.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/secundusskin.uti b/cep_blueprints/_hak/prc_add_sb/secundusskin.uti new file mode 100644 index 0000000..e134ce9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/secundusskin.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/secundusslam.uti b/cep_blueprints/_hak/prc_add_sb/secundusslam.uti new file mode 100644 index 0000000..56e123a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/secundusslam.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/sfps_inc.nss b/cep_blueprints/_hak/prc_add_sb/sfps_inc.nss new file mode 100644 index 0000000..c251fc4 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/sfps_inc.nss @@ -0,0 +1,108 @@ +//------------------------------------------------------------------ +// Spiffy Fox Persistent Storage system v2 +// +// sfps_inc include file +// +// 11/09/2009 Malishara: include file created +//------------------------------------------------------------------ + + +void MarkContents(object oContainer) +{ object oItem = GetFirstItemInInventory(oContainer); + + while (GetIsObjectValid(oItem)) + { SetLocalInt(oItem, "iSFPS_Skip", TRUE); + oItem = GetNextItemInInventory(oContainer); + } +} + +void ScanInventory(object oContainer) +{ int iCount = 0; + object oItem = GetFirstItemInInventory(oContainer); + + while ((iCount < 201) && (GetIsObjectValid(oItem))) + { DeleteLocalInt(oItem, "iSFPS_Skip"); + oItem = GetNextItemInInventory(oContainer); + iCount++; + } + + iCount = 0; + oItem = GetFirstItemInInventory(oContainer); + + while ((iCount < 201) && (GetIsObjectValid(oItem))) + { if (GetHasInventory(oItem)) + { MarkContents(oItem); } + oItem = GetNextItemInInventory(oContainer); + iCount++; + } +} + +int WritePS(object oContainer, string sTag, string sPrefix = "PS_") +{ string sOldDB = GetLocalString(oContainer, "sSFPS_OldDatabase"); + if (sOldDB == "") + { sOldDB = sPrefix + sTag; } + + ScanInventory(oContainer); + DestroyCampaignDatabase(sOldDB); + DeleteLocalString(oContainer, "sSFPS_OldDatabase"); + + object oItem = GetFirstItemInInventory(oContainer); + int iSkip = GetLocalInt(oItem, "iSFPS_Skip"); + + int iCount = 0; + int iLoop = 0; + + while ((iCount < 201) && (GetIsObjectValid(oItem))) + { if (!iSkip) + { StoreCampaignObject(sPrefix + sTag, "PS_item_" + IntToString(iLoop), oItem); + iLoop++; + } + oItem = GetNextItemInInventory(oContainer); + iSkip = GetLocalInt(oItem, "iSFPS_Skip"); + iCount++; + } + + SetCampaignInt(sPrefix + sTag, "PS_iCount", iLoop); + SetCampaignInt(sPrefix + sTag, "PS_iVersion", 2); + return iCount; +} + +int ReadPS(object oContainer, string sTag, string sPrefix = "PS_", int iVersion = 2) +{ if (GetLocalInt(oContainer, "iSFPS_Loaded") == TRUE) + { return TRUE; } + + string sRecord; + int iCount = 0; + object oItem = OBJECT_SELF; + int iLoop = GetCampaignInt(sPrefix + sTag, "PS_iCount"); + + switch (iVersion) + { case 2: sRecord = "PS_item_"; + + while ((iLoop >= 1) && (GetIsObjectValid(oItem))) + { iLoop--; + oItem = RetrieveCampaignObject(sPrefix + sTag, sRecord + IntToString(iLoop), GetLocation(oContainer), oContainer); + if (GetIsObjectValid(oItem)) + { iCount++; } + } + + break; + default: sRecord = "PS_in_" + sTag + "_item_"; + + iLoop = 50; + while (iLoop >= 0) + { oItem = RetrieveCampaignObject(sPrefix + sTag, sRecord + IntToString(iLoop), GetLocation(oContainer), oContainer); + if (GetIsObjectValid(oItem)) + { iCount++; } + iLoop--; + } + + SetLocalString(oContainer, "sSFPS_OldDatabase", sPrefix + sTag); + break; + } + + SetLocalInt(oContainer, "iSFPS_Loaded", TRUE); + return iCount; +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/sfps_on_close.ncs b/cep_blueprints/_hak/prc_add_sb/sfps_on_close.ncs new file mode 100644 index 0000000..cb65473 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/sfps_on_close.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/sfps_on_close.nss b/cep_blueprints/_hak/prc_add_sb/sfps_on_close.nss new file mode 100644 index 0000000..7a69d3c --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/sfps_on_close.nss @@ -0,0 +1,28 @@ +//------------------------------------------------------------------ +// Spiffy Fox Persistent Storage system v2 +// +// original version by Spiffy Fox +// recode (v2) by Malishara +// +// sfps_close OnClose event for persistent storage containers +// +//------------------------------------------------------------------ + +#include "sfps_inc" +#include "dmts_common_inc" + + +void main() +{ if (GetLocalInt(OBJECT_SELF, "iSFPS_Unload")) + { DestroyContents(OBJECT_SELF); + DeleteLocalInt(OBJECT_SELF, "iSFPS_Loaded"); + return; + } + string sPrefix = GetLocalString(OBJECT_SELF, "sSFPS_Prefix"); + if (sPrefix == "") + { sPrefix = "PS_"; } + + int iStuffed = WritePS(OBJECT_SELF, GetStringLeft(GetTag(OBJECT_SELF), 29), sPrefix); + if (iStuffed > 200) + { SendMessageToPC(GetLastClosedBy(), "ERROR: Storage capacity (200 items) exceeded! Please remove some items!"); } +} diff --git a/cep_blueprints/_hak/prc_add_sb/sfps_on_open.ncs b/cep_blueprints/_hak/prc_add_sb/sfps_on_open.ncs new file mode 100644 index 0000000..dbb3d5b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/sfps_on_open.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/sfps_on_open.nss b/cep_blueprints/_hak/prc_add_sb/sfps_on_open.nss new file mode 100644 index 0000000..55ea43d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/sfps_on_open.nss @@ -0,0 +1,25 @@ +//------------------------------------------------------------------ +// Spiffy Fox Persistent Storage system v2 +// +// original version by Spiffy Fox +// recode (v2) by Malishara +// +// sfps_open OnOpen event for persistent storage containers +// +//------------------------------------------------------------------ + +#include "sfps_inc" + + +void main() +{ int iAmtLoaded; + string sPrefix = GetLocalString(OBJECT_SELF, "sSFPS_Prefix"); + if (sPrefix == "") + { sPrefix = "PS_"; } + + int iVersion = GetCampaignInt(sPrefix + GetStringLeft(GetTag(OBJECT_SELF), 29), "PS_iVersion"); + if (iVersion == 2) + { iAmtLoaded = ReadPS(OBJECT_SELF, GetStringLeft(GetTag(OBJECT_SELF), 29), sPrefix); } + else + { iAmtLoaded = ReadPS(OBJECT_SELF, GetStringLeft(GetTag(OBJECT_SELF), 19), "ANNAKOLIA_PS_", 1); } +} diff --git a/cep_blueprints/_hak/prc_add_sb/sfrm_exit.ncs b/cep_blueprints/_hak/prc_add_sb/sfrm_exit.ncs new file mode 100644 index 0000000..8a33eb8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/sfrm_exit.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/sfrm_exit.nss b/cep_blueprints/_hak/prc_add_sb/sfrm_exit.nss new file mode 100644 index 0000000..4d0a517 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/sfrm_exit.nss @@ -0,0 +1,4 @@ +void main() +{ +SetLocalInt(GetPCSpeaker(), "restnow", 0); +} diff --git a/cep_blueprints/_hak/prc_add_sb/sparky_inc.nss b/cep_blueprints/_hak/prc_add_sb/sparky_inc.nss new file mode 100644 index 0000000..e268a46 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/sparky_inc.nss @@ -0,0 +1,929 @@ +// -------------------------------------------------------- +// sparky_inc Sparky Spawner v2 include file +// +// original version by Sparky1479 +// recode and expansion by Malishara +// +// 10/28/2009 Malishara: added SMS encounter type +// 10/29/2009 Malishara: added static encounter type +// added music encounter type +// 11/10/2009 Malishara: added disable encounter type +// 11/14/2009 Malishara: added equip and unequip encounter types +// 11/20/2009 Malishara: added ability to store encounters on, +// and spawn from, a trigger +// -------------------------------------------------------- + +#include "mali_string_fns" +#include "mcs_inc" +#include "x0_i0_position" +#include "dm_sm_inc" + + +int WhichSlot(string sSlot) +{ if (sSlot == "head") + { return INVENTORY_SLOT_HEAD; } + if (sSlot == "lefthand") + { return INVENTORY_SLOT_LEFTHAND; } + if (sSlot == "righthand") + { return INVENTORY_SLOT_RIGHTHAND; } + if (sSlot == "cloak") + { return INVENTORY_SLOT_CLOAK; } + if (sSlot == "arms") + { return INVENTORY_SLOT_ARMS; } + if (sSlot == "belt") + { return INVENTORY_SLOT_BELT; } + if (sSlot == "boots") + { return INVENTORY_SLOT_BOOTS; } + if (sSlot == "rightring") + { return INVENTORY_SLOT_RIGHTRING; } + if (sSlot == "leftring") + { return INVENTORY_SLOT_LEFTRING; } + if (sSlot == "arrows") + { return INVENTORY_SLOT_ARROWS; } + if (sSlot == "bolts") + { return INVENTORY_SLOT_BOLTS; } + if (sSlot == "bullets") + { return INVENTORY_SLOT_BULLETS; } + if ((sSlot == "neck") || (sSlot == "necklace") || (sSlot == "amulet")) + { return INVENTORY_SLOT_NECK; } + if ((sSlot == "chest") || (sSlot == "armor") || (sSlot == "torso")) + { return INVENTORY_SLOT_CHEST; } + + return -1; +} + +object FindSMSWidget(string sSMS_Crate, string sName) +{ object oSMS_Crate = GetObjectByTag(sSMS_Crate); + if (!GetIsObjectValid(oSMS_Crate)) { return OBJECT_INVALID; } + + object oSMS = GetFirstItemInInventory(oSMS_Crate); + + int iLoop = TRUE; + + while (iLoop) + { if (!GetIsObjectValid(oSMS)) + { iLoop = FALSE; } + else if (GetStringLowerCase(sName) == GetStringLowerCase(SearchAndReplace(SearchAndReplace(GetName(oSMS), ",", ""), " ", ""))) + { iLoop = FALSE; } + else + { oSMS = GetNextItemInInventory(oSMS_Crate); } + } + + return oSMS; +} + +int ProcessTrapType(string sTrapType) +{ string sTrapStrength = FirstWord(sTrapType, " "); + string sTrapDamageType = RestWords(sTrapType, " "); + + int iStrength = 0; + + if (sTrapStrength == "random") + { switch (Random(5)) + { case 0: + sTrapStrength = "minor"; break; + case 1: + sTrapStrength = "average"; break; + case 2: + sTrapStrength = "strong"; break; + case 3: + sTrapStrength = "deadly"; break; + case 4: + sTrapStrength = "epic"; break; + } + } + + if (sTrapStrength == "epic") + { if ((sTrapDamageType == "electrical") || (sTrapDamageType == "electric") || (sTrapDamageType == "elec")) + { return 44; } + if (sTrapDamageType == "fire") + { return 45; } + if (sTrapDamageType == "frost") + { return 46; } + if (sTrapDamageType == "sonic") + { return 47; } + return Random(4) + 44; + } + + if (sTrapStrength == "minor") + { iStrength = 0; } + else if (sTrapStrength == "average") + { iStrength = 1; } + else if (sTrapStrength == "strong") + { iStrength = 2; } + else if (sTrapStrength == "deadly") + { iStrength = 3; } + + if (sTrapDamageType == "spike") + { return iStrength + 0; } + else if (sTrapDamageType == "holy") + { return iStrength + 4; } + else if (sTrapDamageType == "tangle") + { return iStrength + 8; } + else if (sTrapDamageType == "acid") + { return iStrength + 12; } + else if (sTrapDamageType == "fire") + { return iStrength + 16; } + else if ((sTrapDamageType == "electrical") || (sTrapDamageType == "electric") || (sTrapDamageType == "elec")) + { return iStrength + 20; } + else if (sTrapDamageType == "gas") + { return iStrength + 24; } + else if (sTrapDamageType == "frost") + { return iStrength + 28; } + else if (sTrapDamageType == "negative") + { return iStrength + 32; } + else if (sTrapDamageType == "sonic") + { return iStrength + 36; } + else if (sTrapDamageType == "acid splash") + { return iStrength + 40; } + else + { return (Random(11) * 4) + iStrength; } + + return 0; +} + +void ProcessSingleAction(object oCreature, string sAction) +{ if ((sAction == "walk") || (sAction == "1")) + { AssignCommand(oCreature, ActionRandomWalk()); return; } + + if (sAction == "chair") + { object oChair = GetNearestObjectByTag("Chair", oCreature, 1); + if (GetIsObjectValid(oChair)) + { AssignCommand(oCreature, ActionSit(oChair)); } + return; + } + + if (sAction == "dead") + { AssignCommand(oCreature, SetIsDestroyable(FALSE, TRUE, TRUE)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDeath(), oCreature); + return; + } + + if (sAction == "corpse") + { AssignCommand(oCreature, SetIsDestroyable(FALSE, FALSE, FALSE)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDeath(), oCreature); + return; + } + + if (FirstWord(sAction, ":") == "faction") + { object oFactionNPC = GetObjectByTag("Faction_" + RestWords(sAction, ":")); + if (GetIsObjectValid(oFactionNPC)) + { ChangeFaction(oCreature, oFactionNPC); } + return; + } + + if (FirstWord(sAction, ":") == "unequip") + { string sSlot = RestWords(sAction, ":"); + object oItem = GetItemInSlot(WhichSlot(sSlot), oCreature); + if (GetIsObjectValid(oItem)) + { AssignCommand(oCreature, ActionUnequipItem(oItem)); } + return; + } + + if (FirstWord(sAction, ":") == "equip") + { string sSlot = FirstWord(RestWords(sAction, ":"), ":"); + string sTag = RestWords(RestWords(sAction, ":"), ":"); + object oItem = GetItemPossessedBy(oCreature, sTag); + if (GetIsObjectValid(oItem)) + { AssignCommand(oCreature, ActionEquipItem(oItem, WhichSlot(sSlot))); } + return; + } + + int iAnim; + if (sAction == "spasm") + { iAnim = ANIMATION_LOOPING_SPASM; } + else if (sAction == "sit") + { iAnim = ANIMATION_LOOPING_SIT_CROSS; } + else if (sAction == "threaten") + { iAnim = ANIMATION_LOOPING_TALK_FORCEFUL; } + else if (sAction == "laugh") + { iAnim = ANIMATION_LOOPING_TALK_LAUGHING; } + else if (sAction == "talk") + { iAnim = ANIMATION_LOOPING_TALK_NORMAL; } + else if (sAction == "beg") + { iAnim = ANIMATION_LOOPING_TALK_PLEADING; } + else if (sAction == "worship") + { iAnim = ANIMATION_LOOPING_WORSHIP; } + else if (sAction == "pray") + { iAnim = ANIMATION_LOOPING_MEDITATE; } + else if (sAction == "conjure1") + { iAnim = ANIMATION_LOOPING_CONJURE1; } + else if (sAction == "conjure2") + { iAnim = ANIMATION_LOOPING_CONJURE2; } + else + { return; } + + AssignCommand(oCreature, ActionPlayAnimation(iAnim, 1.0f, 9999.0f)); + return; +} + +void ProcessActions(object oCreature, string sActionList) +{ string sAction = FirstWord(sActionList, ";"); + sActionList = RestWords(sActionList, ";"); + + while (sAction != "") + { ProcessSingleAction(oCreature, sAction); + sAction = FirstWord(sActionList, ";"); + sActionList = RestWords(sActionList, ";"); + } +} + + +location ProcessLocation(string sLoc, string sOffset, int iSpawn, int iTotalSpawns, object oArea) +{ string sAngle = RestWords(sLoc, "@"); + sLoc = FirstWord(sLoc, "@"); + + location lLoc; + float fAngle; + if (sAngle == "") + { fAngle = IntToFloat(Random(360)); } + else if (sAngle == "last") + { lLoc = GetLocalLocation(oArea, "lLastSpawn"); + fAngle = GetFacingFromLocation(lLoc); + } + else + { fAngle = StringToFloat(sAngle); } + + string sType = GetStringLowerCase(FirstWord(sLoc, ":")); + string sParameter = RestWords(sLoc, ":"); + float fOffset = StringToFloat(sOffset); + vector vVector; + float fROffset; + float fFacingOffset = 0.0f; + + if ((sType == "circle") || (sType == "circleflip")) + { if (iSpawn > 0) + { lLoc = GetLocalLocation(oArea, "lLastSpawn"); } + else + { lLoc = ProcessLocation(sParameter, "", 0, 0, oArea); + SetLocalLocation(oArea, "lLastSpawn", lLoc); + } + vVector = GetPositionFromLocation(lLoc); + fAngle = (360.0f / IntToFloat(iTotalSpawns)) * iSpawn; + if (sType == "circleflip") + { fFacingOffset = 180.0f; } + lLoc = Location(oArea, GetChangedPosition(vVector, fOffset, fAngle), fFacingOffset + fAngle); + return lLoc; + } + + if ((sType == "loc") || (sType == "location")) + { sParameter = GetStringLowerCase(sParameter); + float fLocX = StringToFloat(FirstWord(sParameter, "x")); + sParameter = RestWords(sParameter, "x"); + float fLocY = StringToFloat(FirstWord(sParameter, "y")); + sParameter = RestWords(sParameter, "y"); + float fLocZ = 0.0f; + if (sParameter != "") + { fLocZ = StringToFloat(FirstWord(sParameter, "z")); } + lLoc = Location(oArea, Vector(fLocX, fLocY, fLocZ), fAngle); + SetLocalLocation(oArea, "lLastSpawn", lLoc); + if (sOffset != "") + { vVector = GetPositionFromLocation(lLoc); + fROffset = IntToFloat(Random(FloatToInt(fOffset * 100.0f))) / 100.0f; + lLoc = Location(oArea, GetChangedPosition(vVector, fROffset, fAngle), fAngle); + } + return lLoc; + + } + + if ((sType == "wp") || (sType == "waypoint")) + { lLoc = GetLocation(GetWaypointByTag(sParameter)); + SetLocalLocation(oArea, "lLastSpawn", lLoc); + if (sOffset != "") + { vVector = GetPositionFromLocation(lLoc); + fROffset = IntToFloat(Random(FloatToInt(fOffset * 100.0f))) / 100.0f; + lLoc = Location(oArea, GetChangedPosition(vVector, fROffset, fAngle), fAngle); + } + return lLoc; + } + + if ((sType == "object") || (sType == "obj")) + { lLoc = GetLocation(GetNearestObjectByTag(sParameter, GetFirstObjectInArea(oArea))); + SetLocalLocation(oArea, "lLastSpawn", lLoc); + if (sOffset != "") + { vVector = GetPositionFromLocation(lLoc); + fROffset = IntToFloat(Random(FloatToInt(fOffset * 100.0f))) / 100.0f; + lLoc = Location(oArea, GetChangedPosition(vVector, fROffset, fAngle), fAngle); + } + return lLoc; + } + + if (sType == "last") + { lLoc = GetLocalLocation(oArea, "lLastSpawn"); + return lLoc; + } + + // Return a random location. Do not use the edges (.05 width). + + int iAreaX = GetAreaSize(AREA_WIDTH, oArea); + int iAreaY = GetAreaSize(AREA_HEIGHT, oArea); + + float fRandX = IntToFloat(Random(iAreaX * 10)) + (IntToFloat(Random(90)) / 100) + 0.05f; + float fRandY = IntToFloat(Random(iAreaY * 10)) + (IntToFloat(Random(90)) / 100) + 0.05f; + + lLoc = Location(oArea, Vector(fRandX, fRandY, 0.0f), fAngle); + SetLocalLocation(oArea, "lLastSpawn", lLoc); + + return lLoc; +} + +int GetSpawnAmount(string sAmt) +{ if (TestStringAgainstPattern("*n-*n", sAmt)) + { int iLowAmt = StringToInt(FirstWord(sAmt, "-")); + int iHighAmt = StringToInt(RestWords(sAmt, "-")); + return (Random((iHighAmt - iLowAmt) +1) + iLowAmt); + } + else + { return StringToInt(sAmt); } +} + +int ProcessV2Entry(string sEnc, object oArea, object oDB, string sLocationOverride = "", string sOffsetOverride = "") +{ string sResRef; + int iAmt; + string sLocation; + string sOffset; + location lLocation; + int iLoop; + object oSpawn; + int iEntry; + int iContinue; + string sAction; + string sNewTag; + + string sType = GetStringLowerCase(FirstWord(sEnc, ",")); + sEnc = RestWords(sEnc, ","); + + if (sType == "music") + { string sMusic = GetStringLowerCase(FirstWord(sEnc, ",")); + sEnc = RestWords(sEnc, ","); + int iMusicTrack = StringToInt(FirstWord(sEnc, ",")); + + if (iMusicTrack == 0) { return TRUE; } + + if (sMusic == "day") + { SetLocalInt(oArea, "iSparkyMusicDay", MusicBackgroundGetDayTrack(oArea)); + MusicBackgroundStop(oArea); + MusicBackgroundChangeDay(oArea, iMusicTrack); + } + else if (sMusic == "night") + { SetLocalInt(oArea, "iSparkyMusicNight", MusicBackgroundGetNightTrack(oArea)); + MusicBackgroundStop(oArea); + MusicBackgroundChangeNight(oArea, iMusicTrack); + } + else if (sMusic == "battle") + { SetLocalInt(oArea, "iSparkyMusicBattle", MusicBackgroundGetBattleTrack(oArea)); + MusicBattleChange(oArea, iMusicTrack); + } + + return (StringToInt(sEnc)); + } + + if ((sType == "creature") || (sType == "npc")) + { sResRef = FirstWord(FirstWord(sEnc, ","), ":"); + sNewTag = RestWords(FirstWord(sEnc, ","), ":"); + sEnc = RestWords(sEnc, ","); + + iAmt = GetSpawnAmount(FirstWord(sEnc, ",")); + sEnc = RestWords(sEnc, ","); + + sLocation = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + if (sLocationOverride !="") { sLocation = sLocationOverride; } + + sOffset = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + if (sOffsetOverride !="") { sOffset = sOffsetOverride; } + + sAction = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + + for (iLoop = 0; iLoop < iAmt; iLoop++) + { lLocation = ProcessLocation(sLocation, sOffset, iLoop, iAmt, oArea); + oSpawn = CreateObject(OBJECT_TYPE_CREATURE, sResRef, lLocation, FALSE, sNewTag); + SetLocalInt(oSpawn, "iSparkySpawn", TRUE); + ProcessActions(oSpawn, sAction); + } + + return (StringToInt(sEnc)); + } + + if (sType == "mcs") + { object oMCS_Spawn; + location lHoldingCell = GetLocation(GetWaypointByTag("MCS_CELL")); + string sRecord; + + string sMCS_Unit = "ENC_MCS_" + FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + + string sMCS_BagName = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + + object oMCS = FindMCSBag(sMCS_Unit, sMCS_BagName); + if (!GetIsObjectValid(oMCS)) { return TRUE; } + + string sMCSData = GetDescription(oMCS, FALSE, FALSE); + + iAmt = StringToInt(FirstWord(sMCSData, "|")); + sMCSData = RestWords(sMCSData, "|"); + + sLocation = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + if (sLocationOverride !="") { sLocation = sLocationOverride; } + + sOffset = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + if (sOffsetOverride !="") { sOffset = sOffsetOverride; } + + sAction = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + + for (iLoop = 0; iLoop < iAmt; iLoop++) + { lLocation = ProcessLocation(sLocation, sOffset, iLoop, iAmt, oArea); + object oMCSSpawn = CreateObject(OBJECT_TYPE_CREATURE, FirstWord(sMCSData, "|"), lHoldingCell); + sMCSData = RestWords(sMCSData, "|"); + sRecord = FirstWord(sMCSData, "<<>>|"); + sMCSData = RestWords(sMCSData, "<<>>|"); + + RestoreCreature(oMCSSpawn, sRecord); + oSpawn = CopyObject(oMCSSpawn, lLocation); + DestroyObject(oMCSSpawn); + + SetLocalInt(oSpawn, "iSparkySpawn", TRUE); + ProcessActions(oSpawn, sAction); + + sLocation = "last"; + sOffset = ""; + } + + return (StringToInt(sEnc)); + } + + if (sType == "sms") + { string sSMS_Crate = "ENC_SMS_" + FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + + string sSMSWidgetName = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + + object oSMS = FindSMSWidget(sSMS_Crate, sSMSWidgetName); + if (!GetIsObjectValid(oSMS)) { return TRUE; } + + sLocation = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + if (sLocationOverride !="") { sLocation = sLocationOverride; } + + sOffset = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + if (sOffsetOverride !="") { sOffset = sOffsetOverride; } + + if ((sLocation == "absolute") || (sLocation == "abs")) + { lLocation = ProcessLocation("1.0x1.0y", sOffset, 1, 1, oArea); + Unpack(oSMS, lLocation, OBJECT_INVALID, FALSE, FALSE, FALSE, 2); + } + else + { lLocation = ProcessLocation(sLocation, sOffset, 1, 1, oArea); + Unpack(oSMS, lLocation, OBJECT_INVALID, TRUE, TRUE, FALSE, 2); + } + + return (StringToInt(sEnc)); + + } + + if ((sType == "placeable") || (sType == "prop") || (sType == "static")) + { sResRef = FirstWord(FirstWord(sEnc, ","), ":"); + sNewTag = RestWords(FirstWord(sEnc, ","), ":"); + sEnc = RestWords(sEnc, ","); + + iAmt = GetSpawnAmount(FirstWord(sEnc, ",")); + sEnc = RestWords(sEnc, ","); + + sLocation = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + if (sLocationOverride !="") { sLocation = sLocationOverride; } + + sOffset = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + if (sOffsetOverride !="") { sOffset = sOffsetOverride; } + + for (iLoop = 0; iLoop < iAmt; iLoop++) + { lLocation = ProcessLocation(sLocation, sOffset, iLoop, iAmt, oArea); + oSpawn = CreateObject(OBJECT_TYPE_PLACEABLE, sResRef, lLocation, FALSE, sNewTag); + SetLocalInt(oSpawn, "iSparkySpawn", TRUE); + if (sType == "static") + { AssignCommand(oSpawn, SetIsDestroyable(FALSE)); } + } + + return (StringToInt(sEnc)); + } + + if ((sType == "waypoint") || (sType == "wp")) + { sNewTag = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + + sLocation = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + if (sLocationOverride !="") { sLocation = sLocationOverride; } + + sOffset = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + if (sOffsetOverride !="") { sOffset = sOffsetOverride; } + + lLocation = ProcessLocation(sLocation, sOffset, 1, 1, oArea); + oSpawn = CreateObject(OBJECT_TYPE_WAYPOINT, "nw_waypoint001", lLocation, FALSE, sNewTag); + SetLocalInt(oSpawn, "iSparkySpawn", TRUE); + + return (StringToInt(sEnc)); + } + + if (sType == "item") + { sResRef = FirstWord(FirstWord(sEnc, ","), ":"); + sNewTag = RestWords(FirstWord(sEnc, ","), ":"); + sEnc = RestWords(sEnc, ","); + + iAmt = GetSpawnAmount(FirstWord(sEnc, ",")); + sEnc = RestWords(sEnc, ","); + + sLocation = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + if (sLocationOverride !="") { sLocation = sLocationOverride; } + + sOffset = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + if (sOffsetOverride !="") { sOffset = sOffsetOverride; } + + for (iLoop = 0; iLoop < iAmt; iLoop++) + { lLocation = ProcessLocation(sLocation, sOffset, iLoop, iAmt, oArea); + oSpawn = CreateObject(OBJECT_TYPE_ITEM, sResRef, lLocation, FALSE, sNewTag); + SetLocalInt(oSpawn, "iSparkySpawn", TRUE); + } + + return (StringToInt(sEnc)); + } + + if ((sType == "trap") || (sType == "traps")) + { string sTrapStrength = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + + string sTrapDmgType = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + + string sTrapType = sTrapStrength + " " + sTrapDmgType; + + iAmt = GetSpawnAmount(FirstWord(sEnc, ",")); + sEnc = RestWords(sEnc, ","); + + float fTrapSize = StringToFloat(FirstWord(sEnc, ",")); + sEnc = RestWords(sEnc, ","); + if (fTrapSize < 1.0f) + { fTrapSize = 2.0f; } + + string sDetectDC = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + + string sDisarmDC = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + + int iRecoverable = StringToInt(FirstWord(sEnc, ",")); + sEnc = RestWords(sEnc, ","); + + sLocation = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + if (sLocationOverride !="") { sLocation = sLocationOverride; } + + sOffset = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + if (sOffsetOverride !="") { sOffset = sOffsetOverride; } + + for (iLoop = 0; iLoop < iAmt; iLoop++) + { lLocation = ProcessLocation(sLocation, sOffset, iLoop, iAmt, oArea); + oSpawn = CreateTrapAtLocation(ProcessTrapType(sTrapType), lLocation, fTrapSize); + SetLocalInt(oSpawn, "iSparkySpawn", TRUE); + + if (sDetectDC == "-1") + { SetTrapDetectable(oSpawn, FALSE); } + else if (sDetectDC != "") + { SetTrapDetectDC(oSpawn, StringToInt(sDetectDC)); } + + if (sDisarmDC == "-1") + { SetTrapDisarmable(oSpawn, FALSE); } + else if (sDisarmDC != "") + { SetTrapDisarmDC(oSpawn, StringToInt(sDisarmDC)); } + + if (!iRecoverable) + { SetTrapRecoverable(oSpawn, FALSE); } + } + + return (StringToInt(sEnc)); + } + + if (sType == "script") + { sResRef = FirstWord(FirstWord(sEnc, ","), ":"); + string sRunAs = RestWords(FirstWord(sEnc, ","), ":"); + object oRunAs; + if (sRunAs != "") + { oRunAs = GetObjectByTag(sRunAs); + if (!GetIsObjectValid(oRunAs)) + { oRunAs = oDB; } + } + else + { oRunAs = oDB; } + ExecuteScript(sResRef, oRunAs); + return TRUE; + } + + if (sType == "group") + { string sGroup = "group_" + GetStringLowerCase(FirstWord(sEnc, ",")); + iEntry = 1; + + for (iEntry = 1; sEnc != ""; iEntry++) + { sEnc = GetLocalString(oArea, sGroup + ((iEntry < 10) ? "_0" : "_") + IntToString(iEntry)); + iContinue = ProcessV2Entry(SearchAndReplace(sEnc, " ", ""), oArea, oDB, sLocationOverride, sOffsetOverride); + } + + return iContinue; + } + + if (sType == "table") + { string sTable = "table_" + GetStringLowerCase(FirstWord(sEnc, ",")); + int iDieRoll = d100(); + int iChance = 0; + iEntry = 1; + + for (iEntry = 1; iDieRoll > iChance; iEntry++) + { sEnc = GetLocalString(oArea, sTable + ((iEntry < 10) ? "_0" : "_") + IntToString(iEntry)); + + iChance = StringToInt(FirstWord(sEnc, ",")); + sEnc = RestWords(sEnc, ","); + } + + iContinue = ProcessV2Entry(SearchAndReplace(sEnc, " ", ""), oArea, oDB, sLocationOverride, sOffsetOverride); + return iContinue; + } + + if ((sType == "level") || (sType == "lvl")) + { int iSparkyPartyLvls = GetLocalInt(oArea, "iSparkyPartyLvls"); + string sTable = "lvltable_" + GetStringLowerCase(FirstWord(sEnc, ",")); + int iEntryLvl = 10000; + iEntry = 1; + + for (iEntry = 1; iSparkyPartyLvls < iEntryLvl; iEntry++) + { sEnc = GetLocalString(oArea, sTable + ((iEntry < 10) ? "_0" : "_") + IntToString(iEntry)); + + iEntryLvl = StringToInt(FirstWord(sEnc, ",")); + sEnc = RestWords(sEnc, ","); + } + + iContinue = ProcessV2Entry(SearchAndReplace(sEnc, " ", ""), oArea, oDB, sLocationOverride, sOffsetOverride); + return iContinue; + } + + if (sType == "copy") + { string sAreaTag = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + + string sObjTag = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + + sNewTag = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + + object oSourceArea = GetObjectByTag(sAreaTag); + object oObject = GetFirstObjectInArea(oSourceArea); + if (GetTag(oObject) != sObjTag) + { oObject = GetNearestObjectByTag(sObjTag, oObject); } + + iAmt = GetSpawnAmount(FirstWord(sEnc, ",")); + sEnc = RestWords(sEnc, ","); + + sLocation = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + if (sLocationOverride !="") { sLocation = sLocationOverride; } + + sOffset = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + if (sOffsetOverride !="") { sOffset = sOffsetOverride; } + + if (GetObjectType(oObject) == OBJECT_TYPE_CREATURE) + { sAction = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + } + + for (iLoop = 0; iLoop < iAmt; iLoop++) + { lLocation = ProcessLocation(sLocation, sOffset, iLoop, iAmt, oArea); + oSpawn = CopyObject(oObject, lLocation, OBJECT_INVALID, sNewTag); + SetLocalInt(oSpawn, "iSparkySpawn", TRUE); + if (GetObjectType(oObject) == OBJECT_TYPE_CREATURE) + { ProcessActions(oSpawn, sAction); } + } + + return (StringToInt(sEnc)); + } + + if (sType == "disable") + { string sEntry = FirstWord(sEnc, ","); + iContinue = StringToInt(RestWords(sEnc, ",")); + + sEnc = GetLocalString(oDB, "encounter_" + sEntry); + + if (!TestStringAgainstPattern("OFF:**", sEnc)) + { SetLocalString(oDB, "encounter_" + sEntry, "OFF:" + sEnc); + SetLocalString(oDB, "sSparky_Disabled_List", GetLocalString(oArea, "sSparky_Disabled_List") + sEntry + " "); + } + + return iContinue; + } + + return TRUE; +} + +int ProcessTime(string sTime) +{ if (sTime == "always") + { return TRUE; } + + if (sTime == "day") + { return GetIsDay(); } + + if (sTime == "night") + { return GetIsNight(); } + + if (TestStringAgainstPattern("*n", sTime)) + { return (StringToInt(sTime) == GetTimeHour()); } + + if (TestStringAgainstPattern("*n-*n", sTime)) + { int iHour = GetTimeHour(); + int iHour1 = StringToInt(FirstWord(sTime, "-")); + int iHour2 = StringToInt(FirstWord(RestWords(sTime, "-"), ",")); + + if (iHour2 < iHour1) + { return (iHour1 <= iHour) || (iHour <= iHour2); } + else + { return (iHour1 <= iHour) && (iHour <= iHour2); } + } + + return FALSE; +} + +int ProcessV2Encounter(string sEnc, object oArea, object oDB) +{ int iRightTime = ProcessTime(GetStringLowerCase(FirstWord(sEnc, ","))); + sEnc = RestWords(sEnc, ","); + + int iChance = StringToInt(FirstWord(sEnc, ",")); + sEnc = RestWords(sEnc, ","); + + if ((d100() <= iChance) && iRightTime) + { int iContinue = ProcessV2Entry(sEnc, oArea, oDB); + return iContinue; + } + + return TRUE; +} + +int ProcessEncounter(string sEnc, object oArea, object oDB) +{ int iContinue; + int iLoop; + object oSpawn; + + if (TestStringAgainstPattern("OFF:**", sEnc)) + { return TRUE; } + + if (GetStringLowerCase(FirstWord(sEnc, ",")) == "v2") + { iContinue = ProcessV2Encounter(RestWords(sEnc, ","), oArea, oDB); + return iContinue; + } + + if (GetStringLowerCase(FirstWord(sEnc, ":")) == "runscript") + { ExecuteScript(RestWords(sEnc, ":"), oDB); + return TRUE; + } + + int iChance = StringToInt(FirstWord(sEnc, ",")); + sEnc = RestWords(sEnc, ","); + + string sResRef = FirstWord(sEnc, ","); + sEnc = RestWords(sEnc, ","); + + int iAmt = StringToInt(FirstWord(sEnc, ",")); + sEnc = RestWords(sEnc, ","); + + object oWP = GetWaypointByTag(FirstWord(sEnc, ",")); + location lWP = GetLocation(oWP); + + iContinue = StringToInt(RestWords(sEnc, ",")); + + if (iChance <= d100()) + { for (iLoop = 0; iLoop < iAmt; iLoop++) + { oSpawn = CreateObject(OBJECT_TYPE_CREATURE, sResRef, lWP); + SetLocalInt(oSpawn, "iSparkySpawn", TRUE); + AssignCommand(oSpawn, ActionRandomWalk()); + } + return iContinue; + } + + return TRUE; +} + +void SpawnEncounters(object oArea) +{ int iDone = FALSE; + int iEnc = 1; + string sEnc; + object oDB = oArea; + + if (GetObjectType(oArea) == OBJECT_TYPE_TRIGGER) + { oArea = GetArea(oDB); + int iSparkyTriggers = GetLocalInt(oArea, "iSparkyTriggers"); + SetLocalObject(oArea, "oSparkyTrigger" + IntToString(iSparkyTriggers), oDB); + SetLocalInt(oArea, "iSparkyTriggers", iSparkyTriggers + 1); + } + + while (!iDone) + { sEnc = GetLocalString(oDB, "encounter" + ((iEnc < 10) ? "_0" : "_") + IntToString(iEnc)); + sEnc = SearchAndReplace(sEnc, " ", ""); + if (sEnc == "") + { iDone = TRUE;} + else + { iDone = ProcessEncounter(sEnc, oArea, oDB); + iDone = abs(iDone - 1); + iEnc++; + } + } + + SetLocalInt(oDB, "iSparkySpawned", TRUE); +} + +void Despawn(object oArea) +{ object oObject; + int iObjectType; + int iSpawned; + string sEntry; + string sEnc; + + iSpawned = GetLocalInt(oArea, "iSparkySpawned"); + if (!iSpawned) + { return; } + + string sSparky_Disabled_List = GetLocalString(oArea, "sSparky_Disabled_List"); + while (sSparky_Disabled_List != "") + { sEntry = FirstWord(sSparky_Disabled_List, " "); + sSparky_Disabled_List = RestWords(sSparky_Disabled_List, " "); + + sEnc = GetLocalString(oArea, "encounter_" + sEntry); + if (TestStringAgainstPattern("OFF:**", sEnc)) + { SetLocalString(oArea, "encounter_" + sEntry, RestWords(sEnc, "OFF:")); } + } + + DeleteLocalString(oArea, "sSparky_Disabled_List"); + + oObject = GetFirstObjectInArea(oArea); + while (GetIsObjectValid(oObject)) + { iObjectType = GetObjectType(oObject); + iSpawned = GetLocalInt(oObject, "iSparkySpawn"); + if (iSpawned) + { if ((iObjectType == OBJECT_TYPE_PLACEABLE) && GetHasInventory(oObject)) + { DestroyContents(oObject); } + AssignCommand(oObject, SetIsDestroyable(TRUE)); + DestroyObject(oObject); + } + + oObject = GetNextObjectInArea(oArea); + } + + int iMusic = GetLocalInt(oArea, "iSparkyMusicDay"); + if ( iMusic!= 0) + { MusicBackgroundStop(oArea); + MusicBackgroundChangeDay(oArea, iMusic); + DeleteLocalInt(oArea, "iSparkyMusicDay"); + } + + iMusic = GetLocalInt(oArea, "iSparkyMusicNight"); + if ( iMusic!= 0) + { MusicBackgroundStop(oArea); + MusicBackgroundChangeNight(oArea, iMusic); + DeleteLocalInt(oArea, "iSparkyMusicNight"); + } + + iMusic = GetLocalInt(oArea, "iSparkyMusicBattle"); + if ( iMusic!= 0) + { MusicBattleChange(oArea, iMusic); + DeleteLocalInt(oArea, "iSparkyMusicBattle"); + } + + MusicBackgroundStop(oArea); + MusicBackgroundPlay(oArea); + + SetLocalInt(oArea, "iSparkySpawned", FALSE); + + int iSparkyTriggers = GetLocalInt(oArea, "iSparkyTriggers"); + int iLoop; + object oDB; + string sDB; + + for (iLoop = 0; iLoop < iSparkyTriggers; iLoop++) + { sDB = "oSparkyTrigger" + IntToString(iLoop); + oDB = GetLocalObject(oArea, sDB); + SetLocalInt(oDB, "iSparkySpawned", FALSE); + DeleteLocalObject(oArea, sDB); + } + + DeleteLocalInt(oArea, "iSparkyTriggers"); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/spawner_onenter.ncs b/cep_blueprints/_hak/prc_add_sb/spawner_onenter.ncs new file mode 100644 index 0000000..f5b5d32 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/spawner_onenter.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/spawner_onenter.nss b/cep_blueprints/_hak/prc_add_sb/spawner_onenter.nss new file mode 100644 index 0000000..ac8a2fb --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/spawner_onenter.nss @@ -0,0 +1,34 @@ +// -------------------------------------------------------- +// Sparky Spawner on_enter +// +// original version by Sparky1479 +// recode and expansion by Malishara +// -------------------------------------------------------- + +#include "sparky_inc" +#include "X0_I0_PARTYWIDE" + + +void main() +{ + object oPC = GetEnteringObject(); + object oArea = OBJECT_SELF; + int iDisabled = GetLocalInt(oArea, "iSparkyDisabled"); + int iAlreadySpawned = GetLocalInt(oArea, "iSparkySpawned"); + + if (!GetIsPC(oPC)) + { return; } + + if (GetIsDM(oPC)) + { SendMessageToPC(oPC, "Sparky spawns are " + (iDisabled ? "OFF" : "ON")); + return; + } + + if (iAlreadySpawned || iDisabled) + { return; } + + int iSparkyPartyLvls = GetFactionAverageLevel(oPC) * (GetNumberPartyMembers(oPC) - 1); + SetLocalInt(oArea, "iSparkyPartyLvls", iSparkyPartyLvls); + SpawnEncounters(oArea); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/spawner_onexit.ncs b/cep_blueprints/_hak/prc_add_sb/spawner_onexit.ncs new file mode 100644 index 0000000..9fb54db Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/spawner_onexit.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/spawner_onexit.nss b/cep_blueprints/_hak/prc_add_sb/spawner_onexit.nss new file mode 100644 index 0000000..1cb7148 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/spawner_onexit.nss @@ -0,0 +1,34 @@ +// -------------------------------------------------------- +// Sparky Spawner include +// +// original version by Sparky1479 +// recode and expansion by Malishara +// -------------------------------------------------------- + +#include "sparky_inc" + +// +int fnArePCsInArea(object oArea) +{ object oPc = GetFirstObjectInArea(OBJECT_SELF); + + while (GetIsObjectValid(oPc)) + { if ((GetIsPC(oPc)) && (!GetIsDM(oPc))) + { return(TRUE); } + oPc = GetNextObjectInArea(); + } + + return(FALSE); +} + + +void main() +{ + object oArea = OBJECT_SELF; + int bArePCsInTheArea = fnArePCsInArea(oArea); + + if (bArePCsInTheArea) + { return; } + + Despawn(oArea); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/summoncamel.uti b/cep_blueprints/_hak/prc_add_sb/summoncamel.uti new file mode 100644 index 0000000..4008111 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/summoncamel.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/summondragon.uti b/cep_blueprints/_hak/prc_add_sb/summondragon.uti new file mode 100644 index 0000000..731fa89 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/summondragon.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/summonhorse.uti b/cep_blueprints/_hak/prc_add_sb/summonhorse.uti new file mode 100644 index 0000000..6645f61 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/summonhorse.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/summonhorse2.uti b/cep_blueprints/_hak/prc_add_sb/summonhorse2.uti new file mode 100644 index 0000000..9dc4278 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/summonhorse2.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/summonhorse3.uti b/cep_blueprints/_hak/prc_add_sb/summonhorse3.uti new file mode 100644 index 0000000..37dad47 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/summonhorse3.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/summonhorse4.uti b/cep_blueprints/_hak/prc_add_sb/summonhorse4.uti new file mode 100644 index 0000000..fbf4b9d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/summonhorse4.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/summonhorse5.uti b/cep_blueprints/_hak/prc_add_sb/summonhorse5.uti new file mode 100644 index 0000000..18bcc3f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/summonhorse5.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/summonhorse6.uti b/cep_blueprints/_hak/prc_add_sb/summonhorse6.uti new file mode 100644 index 0000000..8f96bee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/summonhorse6.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/summonhorse7.uti b/cep_blueprints/_hak/prc_add_sb/summonhorse7.uti new file mode 100644 index 0000000..4b732ed Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/summonhorse7.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/summonhorse8.uti b/cep_blueprints/_hak/prc_add_sb/summonhorse8.uti new file mode 100644 index 0000000..adbecb1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/summonhorse8.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/summonpkhorse.uti b/cep_blueprints/_hak/prc_add_sb/summonpkhorse.uti new file mode 100644 index 0000000..bb0c68e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/summonpkhorse.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/summonpkox.uti b/cep_blueprints/_hak/prc_add_sb/summonpkox.uti new file mode 100644 index 0000000..de8a911 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/summonpkox.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/summonpkpony.uti b/cep_blueprints/_hak/prc_add_sb/summonpkpony.uti new file mode 100644 index 0000000..a3cfaf3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/summonpkpony.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/swingbladepcbl.utp b/cep_blueprints/_hak/prc_add_sb/swingbladepcbl.utp new file mode 100644 index 0000000..1d381dc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/swingbladepcbl.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/swingingrockpcbl.utp b/cep_blueprints/_hak/prc_add_sb/swingingrockpcbl.utp new file mode 100644 index 0000000..256adac Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/swingingrockpcbl.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/tbit_banjo.uti b/cep_blueprints/_hak/prc_add_sb/tbit_banjo.uti new file mode 100644 index 0000000..f3c93da Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/tbit_banjo.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/tbx0_banjo01.ncs b/cep_blueprints/_hak/prc_add_sb/tbx0_banjo01.ncs new file mode 100644 index 0000000..c4b048b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/tbx0_banjo01.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/tbx0_banjo01.nss b/cep_blueprints/_hak/prc_add_sb/tbx0_banjo01.nss new file mode 100644 index 0000000..2b36222 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/tbx0_banjo01.nss @@ -0,0 +1,67 @@ +//:://///////////////////////////////////////////// +//:: FileName: tbx0_banjo01 +//::////////////////////////////////////////////// +/* + this script will cause pc to equip my banjo and + do the play music animation + + call script from an item with item property: + "unique power, self only - unlimited uses per day" + + (item should be restricted to be used only by + human and half-elves, as they are the only ones + the animation works for!) +*/ +//::////////////////////////////////////////////// +//:: Created By: John Hawkins +//:: Created On: 04/04/2008 +//::////////////////////////////////////////////// plc_invisobj +void main() +{ + object oPC = OBJECT_SELF; + + // make sure user is correct phenotype and gender + // to use playing animation... + int iPheno = GetPhenoType(oPC); + if (iPheno != 40) return; + if (GetGender(oPC) != GENDER_MALE) return; + + // we can't play music with weapons equipped! + object oLeft = GetItemInSlot(INVENTORY_SLOT_LEFTHAND,oPC); + object oRight = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC); + string sMessage = "*You cannot play music when you have other items in your hands!*"; + if(GetIsObjectValid(oLeft) || GetIsObjectValid(oRight)) + { + AssignCommand(oPC,ClearAllActions()); + SendMessageToPC(oPC,sMessage); + return; + } + + // *everything checks out, continuing with function* + + // location to play sound from + location lLoc = GetLocation(oPC); + + // create object to play sound + object oSound = CreateObject(OBJECT_TYPE_PLACEABLE,"plc_invisobj",lLoc,FALSE,"TBX_SOUND_OBJ"); + + // visual effect == banjo + effect eVis = EffectVisualEffect(820); + + // sound to play with animation + string sSound; + int iSwitch = d100(); + if (iSwitch < 51) sSound = "as_cv_lute1"; + else sSound = "as_cv_lute1b"; + AssignCommand(oSound,DelayCommand(2.8,PlaySound(sSound))); + AssignCommand(oSound,DelayCommand(7.8,PlaySound(sSound))); + AssignCommand(oSound,DelayCommand(12.8,PlaySound(sSound))); + AssignCommand(oSound,DelayCommand(17.8,PlaySound(sSound))); + AssignCommand(oSound,DelayCommand(22.8,PlaySound(sSound))); + AssignCommand(oSound,DelayCommand(27.8,PlaySound(sSound))); + + // make pc do the play music animation + DelayCommand(1.0,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVis,oPC,32.0)); + AssignCommand(oPC,ActionPlayAnimation(ANIMATION_LOOPING_CUSTOM1,1.0,30.0)); + DestroyObject(oSound,33.0); +} diff --git a/cep_blueprints/_hak/prc_add_sb/tbx0_social_conv.ncs b/cep_blueprints/_hak/prc_add_sb/tbx0_social_conv.ncs new file mode 100644 index 0000000..2da758f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/tbx0_social_conv.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/tbx0_social_conv.nss b/cep_blueprints/_hak/prc_add_sb/tbx0_social_conv.nss new file mode 100644 index 0000000..840e355 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/tbx0_social_conv.nss @@ -0,0 +1,94 @@ +//::////////////////////////////////////////////////// +//:: NW_C2_DEFAULT4 +/* + Default OnConversation event handler for NPCs. + + */ +//::////////////////////////////////////////////////// +//:: Copyright (c) 2002 Floodgate Entertainment +//:: Created By: Naomi Novik +//:: Created On: 12/22/2002 +//::////////////////////////////////////////////////// + +#include "nw_i0_generic" + +void main() +{ + // * if petrified, jump out + if (GetHasEffect(EFFECT_TYPE_PETRIFY, OBJECT_SELF) == TRUE) + { + return; + } + + // * If dead, exit directly. + if (GetIsDead(OBJECT_SELF) == TRUE) + { + return; + } + + // See if what we just 'heard' matches any of our + // predefined patterns + int nMatch = GetListenPatternNumber(); + object oShouter = GetLastSpeaker(); + + if (nMatch == -1) + { + if(GetLocalInt(OBJECT_SELF,"BUSY") != 1) { + ClearAllActions(); + BeginConversation(); + } + else + { + string sRef = GetLocalString(OBJECT_SELF,"BUSY"); + if(sRef == "CONVERSATION") + { + object oSeat = GetNearestObjectByTag("SIT"+GetTag(OBJECT_SELF)); + AssignCommand(oSeat,ActionStartConversation(oShouter)); + } + AssignCommand(oShouter,PlaySound(sRef)); + } + if (GetHasEffect(EFFECT_TYPE_CHARMED) == TRUE) + { + ClearActions(CLEAR_NW_C2_DEFAULT4_29); + BeginConversation(); + } + } + + // Respond to shouts from friendly non-PCs only + else if (GetIsObjectValid(oShouter) + && !GetIsPC(oShouter) + && GetIsFriend(oShouter)) + { + object oIntruder = OBJECT_INVALID; + // Determine the intruder if any + if(nMatch == 4) + { + oIntruder = GetLocalObject(oShouter, "NW_BLOCKER_INTRUDER"); + } + else if (nMatch == 5) + { + oIntruder = GetLastHostileActor(oShouter); + if(!GetIsObjectValid(oIntruder)) + { + oIntruder = GetAttemptedAttackTarget(); + if(!GetIsObjectValid(oIntruder)) + { + oIntruder = GetAttemptedSpellTarget(); + if(!GetIsObjectValid(oIntruder)) + { + oIntruder = OBJECT_INVALID; + } + } + } + } + + // Actually respond to the shout + RespondToShout(oShouter, nMatch, oIntruder); + } + + // Send the user-defined event if appropriate + if(GetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT)) + { + SignalEvent(OBJECT_SELF, EventUserDefined(EVENT_DIALOGUE)); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/tbx0_social_hb.ncs b/cep_blueprints/_hak/prc_add_sb/tbx0_social_hb.ncs new file mode 100644 index 0000000..e4fb466 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/tbx0_social_hb.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/tbx0_social_hb.nss b/cep_blueprints/_hak/prc_add_sb/tbx0_social_hb.nss new file mode 100644 index 0000000..323ac95 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/tbx0_social_hb.nss @@ -0,0 +1,34 @@ +//:://///////////////////////////////////////////// +//:: FileName: tbx0_social_hb +//::////////////////////////////////////////////// +/* + used to fire the social behaviors in user defined +*/ +//::////////////////////////////////////////////// +//:: Created By: John Hawkins +//:: Created On: 03/07/2008 +//::////////////////////////////////////////////// +#include "nw_i0_generic" +void main() +{ + if(GetHasEffect(EFFECT_TYPE_SLEEP)) + { + // If we're asleep and this is the result of sleeping + // at night, apply the floating 'z's visual effect + // every so often + if(GetSpawnInCondition(NW_FLAG_SLEEPING_AT_NIGHT)) + { + effect eVis = EffectVisualEffect(VFX_IMP_SLEEP); + if(d10() > 6) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF); + } + } + } + if ((!IsInConversation(OBJECT_SELF))&&(GetLocalInt(OBJECT_SELF,"SocialFoundSeat")!=1)) + { + // Send the user-defined event signal if specified + SignalEvent(OBJECT_SELF, EventUserDefined(4201)); + } +} + diff --git a/cep_blueprints/_hak/prc_add_sb/tbx0_social_ud.ncs b/cep_blueprints/_hak/prc_add_sb/tbx0_social_ud.ncs new file mode 100644 index 0000000..5daf4a8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/tbx0_social_ud.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/tbx0_social_ud.nss b/cep_blueprints/_hak/prc_add_sb/tbx0_social_ud.nss new file mode 100644 index 0000000..6c43f25 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/tbx0_social_ud.nss @@ -0,0 +1,164 @@ +//:://///////////////////////////////////////////// +//:: FileName: tbx0_social_ud +//::////////////////////////////////////////////// +/* + determines action social pheno will use +*/ +//::////////////////////////////////////////////// +//:: Created By: John Hawkins +//:: Created On: 03/07/2008 +//::////////////////////////////////////////////// +void main() +{ + int iNum = GetUserDefinedEventNumber(); + switch (iNum) + { + case 4201: + { + if(GetLocalInt(OBJECT_SELF,"SITTING") == 1) + { + SetLocalInt(OBJECT_SELF,"SocialFoundSeat",1); + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_LOOPING_SIT_CROSS,1.0,60000.0)); + string sStool = GetLocalString(OBJECT_SELF,"SocialChairResRef"); + if(sStool == "") sStool = "plx_socialstool"; + object oStool = CreateObject(OBJECT_TYPE_PLACEABLE,sStool, + GetLocation(OBJECT_SELF),FALSE,"SIT"+GetTag(OBJECT_SELF)); + SetLocalObject(OBJECT_SELF,"MySocialStool",oStool); + SetName(oStool,GetName(OBJECT_SELF)); + SetLocalInt(OBJECT_SELF,"BUSY",1); + if(GetLocalString(OBJECT_SELF,"BUSY")=="") + { + int iChange = d4(); + string sTxt = "as_pl_x2rghtav"; + string sSound = sTxt + IntToString(iChange); + SetLocalString(OBJECT_SELF,"BUSY",sSound); + } + return; + } + if(GetLocalInt(OBJECT_SELF,"SITTING") == 2) + { + SetLocalInt(OBJECT_SELF,"SocialFoundSeat",1); + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_LOOPING_CUSTOM2,1.0,60000.0)); + string sStool = GetLocalString(OBJECT_SELF,"SocialChairResRef"); + if(sStool == "") sStool = "plx_socialstool"; + object oStool = CreateObject(OBJECT_TYPE_PLACEABLE,sStool, + GetLocation(OBJECT_SELF),FALSE,"SIT"+GetTag(OBJECT_SELF)); + SetLocalObject(OBJECT_SELF,"MySocialStool",oStool); + SetName(oStool,GetName(OBJECT_SELF)); + SetLocalInt(OBJECT_SELF,"BUSY",1); + if(GetLocalString(OBJECT_SELF,"BUSY")=="") + { + int iChange = d4(); + string sTxt = "as_pl_x2rghtav"; + string sSound = sTxt + IntToString(iChange); + SetLocalString(OBJECT_SELF,"BUSY",sSound); + } + return; + } + int iRnd = d20(); + switch(iRnd) + { + case 1: + ClearAllActions(); //drink (15% chance) + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_FIREFORGET_BOW)); + break; + + case 2: + ClearAllActions(); //drink + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_FIREFORGET_BOW)); + break; + + case 3: + ClearAllActions(); //drink + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_FIREFORGET_BOW)); + break; + + case 4: + ClearAllActions(); //look right (5% chance) + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_FIREFORGET_HEAD_TURN_RIGHT)); + break; + + case 5: + ClearAllActions(); //look left (5% chance) + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_FIREFORGET_HEAD_TURN_LEFT)); + break; + + case 6: + ClearAllActions(); //chug (5% chance) + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD)); + break; + + case 7: + ClearAllActions(); //pause (20% chance) + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_LOOPING_PAUSE,1.0,6.0)); + break; + + case 8: + ClearAllActions(); //pause + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_LOOPING_PAUSE,1.0,6.0)); + break; + + case 9: + ClearAllActions(); //pause + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_LOOPING_PAUSE,1.0,6.0)); + break; + + case 10: + ClearAllActions(); //pause + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_LOOPING_PAUSE,1.0,6.0)); + break; + + case 11: + ClearAllActions(); //cheers! (10% chance) + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_FIREFORGET_GREETING)); + break; + + case 12: + ClearAllActions(); //cheers! + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_FIREFORGET_GREETING)); + break; + + case 13: + ClearAllActions(); //cheers! + drink (5% chance) + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_FIREFORGET_SALUTE)); + break; + + case 14: + ClearAllActions(); //walk... (10% chance) + AssignCommand(OBJECT_SELF,ActionRandomWalk()); + break; + + case 15: + ClearAllActions(); //walk... + AssignCommand(OBJECT_SELF,ActionRandomWalk()); + break; + + case 16: + ClearAllActions(); //bored (5% chance) + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_FIREFORGET_PAUSE_BORED)); + break; + + case 17: + ClearAllActions(); //we're getting a buzz now! (10% chance) + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_LOOPING_PAUSE_DRUNK,1.0,6.0)); + break; + + case 18: + ClearAllActions(); //we're getting a buzz now! + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_LOOPING_PAUSE_DRUNK,1.0,6.0)); + break; + + case 19: + ClearAllActions(); //wahoo! (5% chance) + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_FIREFORGET_VICTORY3)); + break; + + case 20: + ClearAllActions(); //tired (5% chance) + AssignCommand(OBJECT_SELF,ActionPlayAnimation(ANIMATION_LOOPING_PAUSE_TIRED,1.0,6.0)); + break; + + } + } + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/tbx_social_m01.utc b/cep_blueprints/_hak/prc_add_sb/tbx_social_m01.utc new file mode 100644 index 0000000..6cffa4d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/tbx_social_m01.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/tk_ai_demilich.ncs b/cep_blueprints/_hak/prc_add_sb/tk_ai_demilich.ncs new file mode 100644 index 0000000..0927fb2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/tk_ai_demilich.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/tk_ai_demilich.nss b/cep_blueprints/_hak/prc_add_sb/tk_ai_demilich.nss new file mode 100644 index 0000000..00582d8 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/tk_ai_demilich.nss @@ -0,0 +1,37 @@ +//:://///////////////////////////////////////////// +//:: tk_ai_demilich +//:: Custom combat ai for my demilich. +//::////////////////////////////////////////////// +/* + This is not a real AI, just a few prepatory + spells to show what can be done. +*/ +//::////////////////////////////////////////////// +//:: Created by: The Krit +//:: Created on: May 10, 2007 +//::////////////////////////////////////////////// + + +#include "x2_inc_switches" + + +void main() +{ + // Get the virtual parameter (primary target of combat). + object oIntruder = GetCreatureOverrideAIScriptTarget(); + // Clear the virtual parameter (shouls always be called). + ClearCreatureOverrideAIScriptTarget(); + + // Let's instantly cast some protective spells to represent earlier preparations. + ActionCastSpellAtObject(SPELL_FOXS_CUNNING, OBJECT_SELF, METAMAGIC_ANY, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, TRUE); + ActionCastSpellAtObject(SPELL_MAGE_ARMOR, OBJECT_SELF, METAMAGIC_ANY, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, TRUE); + ActionCastSpellAtObject(SPELL_PREMONITION, OBJECT_SELF, METAMAGIC_ANY, FALSE, 0, PROJECTILE_PATH_TYPE_DEFAULT, TRUE); + + // Signal that this AI script took care of the current combat round. + //SetCreatureOverrideAIScriptFinished(); + // No, don't signal that in this script. + + // We only want this script to run once, so delete the local variable that + // triggers it. + DeleteLocalString(OBJECT_SELF, CREATURE_VAR_CUSTOM_AISCRIPT); +} diff --git a/cep_blueprints/_hak/prc_add_sb/tk_cre_demilich.uti b/cep_blueprints/_hak/prc_add_sb/tk_cre_demilich.uti new file mode 100644 index 0000000..9099bd5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/tk_cre_demilich.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/tk_demi_lich.utc b/cep_blueprints/_hak/prc_add_sb/tk_demi_lich.utc new file mode 100644 index 0000000..2f2a316 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/tk_demi_lich.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/trap_disarm.ncs b/cep_blueprints/_hak/prc_add_sb/trap_disarm.ncs new file mode 100644 index 0000000..d62eb37 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/trap_disarm.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/trap_disarm.nss b/cep_blueprints/_hak/prc_add_sb/trap_disarm.nss new file mode 100644 index 0000000..da21c0e --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/trap_disarm.nss @@ -0,0 +1,22 @@ +void main() +{ + object oAOE; + object oPlcbl = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + + oAOE = GetNearestObject(OBJECT_TYPE_AREA_OF_EFFECT,oPlcbl); + if(GetAreaOfEffectCreator(oAOE)==OBJECT_SELF) + { + DestroyObject(oAOE); + } + + if(GetIsObjectValid(oPlcbl)) + { + AssignCommand(oPlcbl, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); + if(GetTag(oPlcbl)=="RazorWire") + DestroyObject(oPlcbl); + } + + DeleteLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW"); + DeleteLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + DeleteLocalLocation(OBJECT_SELF,"TRP_PLCBL_LOC"); +} diff --git a/cep_blueprints/_hak/prc_add_sb/trap_fire.ncs b/cep_blueprints/_hak/prc_add_sb/trap_fire.ncs new file mode 100644 index 0000000..feb4a2f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/trap_fire.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/trap_fire.nss b/cep_blueprints/_hak/prc_add_sb/trap_fire.nss new file mode 100644 index 0000000..7c07f2d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/trap_fire.nss @@ -0,0 +1,394 @@ +//Camo Pit Trap Script + +#include "zep_inc_scrptdlg" + +void TrapPlayAnim(object oTrap) +{ + AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); +} + +void RollingRockHitPC(object oPC, int nDamage) +{ + object oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_COM_BLOOD_CRT_RED), oPC); + AssignCommand(oTrap,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_BLUDGEONING, DAMAGE_POWER_NORMAL), oPC)); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectKnockdown(), oPC, 30.0f); +} + +void FallingBrickHitPC(object oPC, int nDamage) +{ + object oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + PlayVoiceChat(VOICE_CHAT_PAIN2,oPC); + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_COM_BLOOD_CRT_RED), oPC); + AssignCommand(oTrap,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_BLUDGEONING, DAMAGE_POWER_NORMAL), oPC)); +} + +int TrapSave(object oPC, int nDC, int nDamage) +{ + if(!ReflexSave(oPC, nDC, SAVING_THROW_TYPE_TRAP)) + { + if (GetHasFeat(FEAT_IMPROVED_EVASION, oPC)) + nDamage /= 2; + } + else if (GetHasFeat(FEAT_EVASION, oPC) || GetHasFeat(FEAT_IMPROVED_EVASION, oPC)) + { + nDamage = 0; + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_IMP_REFLEX_SAVE_THROW_USE), oPC); + } + else + nDamage /= 2; + + return nDamage; +} + +void RazorWireTrap(object oPC) +{ + int nDC=25; + int nDamage = d6(2); + if(GetTrapDetectedBy(OBJECT_SELF, oPC)) + nDC =10; + + object oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + nDamage = TrapSave(oPC, nDC, nDamage); + + if(nDamage>0) + { + PlayVoiceChat(VOICE_CHAT_PAIN1,oPC); + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_COM_BLOOD_REG_RED), oPC); + AssignCommand(oTrap,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_SLASHING, DAMAGE_POWER_NORMAL), oPC)); + if(nDamage>6) + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectMovementSpeedDecrease(80), oPC, 30.0f); + } +} + +void RollingRockTrap(object oTrap) +{ + AssignCommand(oTrap,PlaySound("as_na_rockcavlg1")); + + int nDC=25; + int nDamage = d6(2); + location lEnd; + vector vVector,vOrigin, vAngle; + float fFacing; + object oArea; + + lEnd = GetLocation(oTrap); + fFacing = GetFacingFromLocation(lEnd); + vVector = GetPositionFromLocation(lEnd); + vAngle = AngleToVector(fFacing); + oArea = GetAreaFromLocation(lEnd); + lEnd = Location(oArea,Vector(vVector.x+(-20.0*vAngle.x),vVector.y+(-20.0*vAngle.y),vVector.z),-fFacing); + + vOrigin = Vector(vVector.x+(-24.0*vAngle.x),vVector.y+(-24.0*vAngle.y),vVector.z); + + object oPC = GetFirstObjectInShape(SHAPE_SPELLCYLINDER,24.5,lEnd,FALSE,OBJECT_TYPE_CREATURE,vOrigin); + while(GetIsObjectValid(oPC)) + { + nDamage = TrapSave(oPC, nDC, nDamage); + + if(nDamage>0) + { + DelayCommand(1.5,RollingRockHitPC(oPC,nDamage)); + } + oPC = GetNextObjectInShape(SHAPE_SPELLCYLINDER,24.5,lEnd,FALSE,OBJECT_TYPE_CREATURE,vOrigin); + } +} + +void WallBladeTrap(object oPC) +{ + object oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + + int nDC = 15; + int nTot = 0; + int nN, nDamage; + for(nN=0;nN<4;nN++) + { + nDamage = d4(2); + + nDamage = TrapSave(oPC, nDC, nDamage); + + if(nDamage>0) + AssignCommand(oTrap,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_PIERCING, DAMAGE_POWER_NORMAL), oPC)); + + nTot+=nDamage; + } + if(nTot>0) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_COM_BLOOD_CRT_RED), oPC); + AssignCommand(oPC,PlaySound("cb_ht_metblleth2")); + PlayVoiceChat(VOICE_CHAT_PAIN1,oPC); + } + else + AssignCommand(oPC,PlaySound("cb_sw_blade2")); +} + + +void FallingBricksTrap(object oTrap) +{ + int nDC = 15; + object oPC = GetNearestObject(OBJECT_TYPE_CREATURE, oTrap); + AssignCommand(oPC, PlaySound("as_na_rockfallg1"));//cb_bu_stonelg + int nDamage,nN; + while(GetIsObjectValid(oPC)&&(GetDistanceBetween(oTrap,oPC)<2.0)) + { + nDamage = d6(2); + + nDamage = TrapSave(oPC, nDC, nDamage); + + if(nDamage>0) + { + DelayCommand(1.1,FallingBrickHitPC(oPC,nDamage)); + } + + nN++; + oPC = GetNearestObject(OBJECT_TYPE_CREATURE, oTrap, nN); + } +} + +void SwingingRockTrap(object oTriggerer) +{ + object oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + int nDC =20; + int nDamage, nN; + + nDamage = TrapSave(oTriggerer, nDC, d6(2)); + if(nDamage>0) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_COM_BLOOD_CRT_RED), oTriggerer); + AssignCommand(oTrap,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_BLUDGEONING, DAMAGE_POWER_NORMAL), oTriggerer)); + } + + object oPC = GetNearestObject(OBJECT_TYPE_CREATURE, oTriggerer); + while(GetIsObjectValid(oPC)&&(GetDistanceBetween(oTriggerer,oPC)<2.0)) + { + nDamage = d6(2); + + nDamage = TrapSave(oPC, nDC, nDamage); + + if(nDamage>0) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_COM_BLOOD_CRT_RED), oPC); + AssignCommand(oTrap,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_BLUDGEONING, DAMAGE_POWER_NORMAL), oPC)); + } + + nN++; + oPC = GetNearestObject(OBJECT_TYPE_CREATURE, oTriggerer, nN); + } +} + +void SwingingBladeTrap(object oTriggerer) +{ + object oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + int nDC =20; + int nDamage, nN; + + nDamage = TrapSave(oTriggerer, nDC, d12(1)); + if(nDamage>0) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_COM_BLOOD_CRT_RED), oTriggerer); + AssignCommand(oTrap,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_SLASHING, DAMAGE_POWER_NORMAL), oTriggerer)); + } + + object oPC = GetNearestObject(OBJECT_TYPE_CREATURE, oTriggerer); + while(GetIsObjectValid(oPC)&&(GetDistanceBetween(oTriggerer,oPC)<2.0)) + { + nDamage = d12(1); + + nDamage = TrapSave(oPC, nDC, nDamage); + + if(nDamage>0) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect( VFX_COM_BLOOD_CRT_RED), oPC); + AssignCommand(oTrap,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_SLASHING, DAMAGE_POWER_NORMAL), oPC)); + } + + nN++; + oPC = GetNearestObject(OBJECT_TYPE_CREATURE, oTriggerer, nN); + } +} + +void ResetWhirlingBlades() +{ + object oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + + DeleteLocalInt(OBJECT_SELF,"TRP_TRIGGERED"); + + if(GetIsObjectValid(oTrap)) + { + AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); + DestroyObject(oTrap,1.0); + DeleteLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW"); + } +} + +void Drown(object oPC) +{ + if(GetLocalInt(OBJECT_SELF,"TRP_TRIGGERED")==1) + { + int nD = GetLocalInt(oPC,"DROWNING"); + if(nD==4) //Beginning of the 5th round + { + DeleteLocalInt(oPC,"DROWNING"); + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDeath(), oPC); + } + else + { + SetLocalInt(oPC,"DROWNING",nD+1); + string sMessageToPC=GetStringByStrRef(nZEPDrowning,GENDER_MALE); + AssignCommand(oPC,SpeakString(sMessageToPC)); + DelayCommand(6.0,Drown(oPC)); + } + } + else + { + effect eAOE = GetFirstEffect(oPC); + while (GetIsEffectValid(eAOE)) + { + if (GetEffectCreator(eAOE) == OBJECT_SELF) + { + RemoveEffect(oPC, eAOE); + } + //Get next effect on the target + eAOE = GetNextEffect(oPC); + } + DeleteLocalInt(oPC,"DROWNING"); + } +} + +void FloodTrap(object oPC) +{ + object oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + AssignCommand(oTrap, PlaySound("al_na_fountainlg")); + location lWater; + + vector v = GetPosition(oTrap); + vector w = AngleToVector(GetFacing(oTrap)); + + lWater = Location(GetArea(oTrap),Vector(v.x+(8.0*w.x),v.y+(8.0*w.y),v.z),GetFacing(oTrap)); + object oDoor = GetNearestObject(OBJECT_TYPE_DOOR); + AssignCommand(oDoor,ActionCloseDoor(oDoor)); + AssignCommand(oDoor,SetLocked(oDoor,TRUE)); + + oPC = GetFirstObjectInShape(SHAPE_CUBE,8.0,lWater,TRUE); + while(GetIsObjectValid(oPC)) + { + if(GetLocalInt(oPC,"DROWNING")) + DeleteLocalInt(oPC,"DROWNING"); + else + { + ApplyEffectToObject(DURATION_TYPE_PERMANENT,EffectSlow(),oPC); + DelayCommand(6.0,Drown(oPC)); + } + oPC = GetNextObjectInShape(SHAPE_CUBE,8.0,lWater,TRUE); + } +} + +void main() +{ + string sTrap = GetStringLeft(GetTag(OBJECT_SELF),7); + if(GetLocalInt(OBJECT_SELF,"TRP_TRIGGERED")&&(sTrap!="RWFTrap")) + return; + + SetLocalInt(OBJECT_SELF,"TRP_TRIGGERED",1); + + + object oTrap; + + if((sTrap!="RPFTrap")&&(GetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW")==0)) + { + string sPcbl; + if(sTrap=="MPFTrap") + sPcbl = "metalpitpcbl"; + if(sTrap=="RWFTrap") + sPcbl = "razorwirepcbl"; + if(sTrap=="RRFTrap") + sPcbl = "rollingrockpcbl"; + if(sTrap=="WSFTrap") + sPcbl = "wallbladepcbl"; + if(sTrap=="FBFTrap") + sPcbl = "fallingbrickpcbl"; + if(sTrap=="SRFTrap") + sPcbl = "swingingrockpcbl"; + if(sTrap=="SBFTrap") + sPcbl = "swingbladepcbl"; + if(sTrap=="WBFTrap") + sPcbl = "whirlbladepcbl"; + if(sTrap=="FlFTrap") + sPcbl = "floodpcbl"; + + location lPlcbl = GetLocalLocation(OBJECT_SELF,"TRP_PLCBL_LOC"); + SetLocalInt(OBJECT_SELF,"TRP_PLCBL_SHOW",1); + oTrap = CreateObject(OBJECT_TYPE_PLACEABLE,sPcbl,lPlcbl); + SetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ",oTrap); + } + else + oTrap = GetLocalObject(OBJECT_SELF,"TRP_PLCBL_OBJ"); + + + if(sTrap=="RPFTrap") + { + TrapPlayAnim(oTrap); + ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,EffectAreaOfEffect(38),GetLocation(oTrap),HoursToSeconds(200)); + return; + } + else if(sTrap=="MPFTrap") + { + AssignCommand(oTrap,DelayCommand(1.0,TrapPlayAnim(oTrap))); + ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,EffectAreaOfEffect(39),GetLocation(oTrap),HoursToSeconds(200)); + return; + } + else if(sTrap=="WBFTrap") + { + AssignCommand(oTrap,DelayCommand(1.0,TrapPlayAnim(oTrap))); + ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,EffectAreaOfEffect(40),GetLocation(oTrap),120.0); + DelayCommand(120.0, ResetWhirlingBlades()); + return; + } + + AssignCommand(oTrap,DelayCommand(1.0,TrapPlayAnim(oTrap))); + + int nDC; + int nDamage; + object oPC = GetEnteringObject(); + + if(sTrap=="RWFTrap") + { + RazorWireTrap(oPC); + return; + } + else if(sTrap=="RRFTrap") + { + RollingRockTrap(oTrap); + return; + } + else if(sTrap=="WSFTrap") + { + WallBladeTrap(oPC); + return; + } + else if(sTrap=="FBFTrap") + { + FallingBricksTrap(oTrap); + return; + } + else if(sTrap=="SRFTrap") + { + SwingingRockTrap(oPC); + return; + } + else if(sTrap=="SBFTrap") + { + SwingingBladeTrap(oPC); + return; + } + else if(sTrap=="FlFTrap") + { + FloodTrap(oPC); + return; + } + + +} + + + diff --git a/cep_blueprints/_hak/prc_add_sb/trap_on_acquire.ncs b/cep_blueprints/_hak/prc_add_sb/trap_on_acquire.ncs new file mode 100644 index 0000000..d6fcdea Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/trap_on_acquire.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/trap_on_acquire.nss b/cep_blueprints/_hak/prc_add_sb/trap_on_acquire.nss new file mode 100644 index 0000000..3f3d6f4 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/trap_on_acquire.nss @@ -0,0 +1,17 @@ +//Filename: trap_on_acquire +//Usage: +// Trap companion script for CEP traps...for finding traps. + +#include "zep_inc_scrptdlg" + +void main() +{ + object oItem = GetModuleItemAcquired(); + object oPC = GetModuleItemAcquiredFrom(); + if((GetBaseItemType(oItem)==BASE_ITEM_TRAPKIT)&&(GetItemPossessor(oItem)==oPC)) + { + //recovered a trap? + string sMessageToPC=GetStringByStrRef(nZEPTrapFind,GENDER_MALE); + SendMessageToPC(oPC,sMessageToPC+GetName(GetNearestTrapToObject(oPC))); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/trap_on_load.ncs b/cep_blueprints/_hak/prc_add_sb/trap_on_load.ncs new file mode 100644 index 0000000..301b69b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/trap_on_load.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/trap_on_load.nss b/cep_blueprints/_hak/prc_add_sb/trap_on_load.nss new file mode 100644 index 0000000..816f8fb --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/trap_on_load.nss @@ -0,0 +1,66 @@ +//Filename: trap_on_load +//Usage/Description: +// Trap script for use with CEP Traps. Used in trap +// search routines. + +//Edited by 420 for CEP 2.1on April 1, 2008 to prevent Rug Pit from being destoryed + +#include "zep_inc_scrptdlg" + +void AssociateTrap(string sTag, int nID) +{ + object oPlcbl = GetObjectByTag(sTag); + object oTrap; + int nN=1; + int nT; + string sStringPart1 = GetStringByStrRef(nZEPTrapSearch1,GENDER_MALE); + string sStringPart2 = GetStringByStrRef(nZEPTrapSearch2,GENDER_MALE); + string sStringPart3 = GetStringByStrRef(nZEPTrapSearch3,GENDER_MALE); + + while(GetIsObjectValid(oPlcbl)) + { + nT = 1; + oTrap = GetNearestObject(OBJECT_TYPE_TRIGGER|OBJECT_TYPE_DOOR|OBJECT_TYPE_PLACEABLE, oPlcbl,nT); + while(GetIsObjectValid(oTrap)) + { + PrintString(sStringPart1+sTag+sStringPart2+IntToString(nID)+sStringPart3+GetTag(oTrap)); + if(GetIsTrapped(oTrap)&&(GetTrapBaseType(oTrap)==nID)) + break; + + PrintString(sStringPart1+sTag+sStringPart2+IntToString(GetTrapBaseType(oTrap))+sStringPart3+GetTag(oTrap)); + + + nT++; + oTrap = GetNearestObject(OBJECT_TYPE_ALL, oPlcbl,nT); + } + + if(GetIsObjectValid(oTrap)) + { + if(nID==121)//Fixed RugPit value + { + SetLocalObject(oTrap,"TRP_PLCBL_OBJ",oPlcbl); + } + else + { + SetLocalLocation(oTrap,"TRP_PLCBL_LOC",GetLocation(oPlcbl)); + DestroyObject(oPlcbl); + } + } + oPlcbl = GetObjectByTag(sTag,nN); + nN++;//meant to be this way round + } +} + +void main() +{ + AssociateTrap("RazorWire",123); + AssociateTrap("RollingRock",120); + AssociateTrap("WallBlade",125); + AssociateTrap("FallingBrick",126); + AssociateTrap("SwingingRock",124); + AssociateTrap("SwingingBlade",127); + AssociateTrap("WhirlingBlade",129); + AssociateTrap("Flood",128); + AssociateTrap("RugPit",121); + AssociateTrap("MetalPit",122); +} diff --git a/cep_blueprints/_hak/prc_add_sb/trap_on_unacq.ncs b/cep_blueprints/_hak/prc_add_sb/trap_on_unacq.ncs new file mode 100644 index 0000000..94650c2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/trap_on_unacq.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/trap_on_unacq.nss b/cep_blueprints/_hak/prc_add_sb/trap_on_unacq.nss new file mode 100644 index 0000000..0450ae3 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/trap_on_unacq.nss @@ -0,0 +1,11 @@ +void main() +{ + object oItem = GetModuleItemLost(); + object oPC = GetModuleItemLostBy(); + + if(GetTag(oItem)=="NW_IT_TRAP048") + { + object oTrap = GetNearestTrapToObject(oPC); + SetLocalLocation(oTrap,"TRP_PLCBL_LOC",GetLocation(oPC)); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/trap_readme.nss b/cep_blueprints/_hak/prc_add_sb/trap_readme.nss new file mode 100644 index 0000000..d4cd7e8 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/trap_readme.nss @@ -0,0 +1,189 @@ +/* + +*General Notes* + +To use these scripts in your module you need to add this line to your +OnModuleLoad event in Module Properties. + +-- +ExecuteScript("trap_on_load"); +-- + + +To place a trap put down a copy of the placeable of the trap you want to use, +the huge boulder for the rolling rock trap, the rug for the rugpit trap etc. + +You then have to put down a trapped object with the correct tag. Triggers for +each trap type are already in the palette to make this easier. But if you want +a trap to be triggered by a door or chest you'll have to modify the tag +yourself. All you have to do is set the beginning of the traps tag to the +string given in each traps description. For example, if you want a rolling +boulder attached to a chest the chest's tag must begin "RBFTrap". The chest +will also need it's disarm script set to "trap_disarm", and it's triggered script +set to "trap_fire". + +The traps set up in this mod should help you understand if you're having +problems. Be careful though, a placeable will always link itself to the closest +trap with the correct tag. + +Reset switches need their tag set to the tag of the trap they reset, with a +single digit on the end. This digit tells the switch whether it should reset +the closest trap with that tag, or the second closest, or third, etc. + +To reset the closest one the digit must be 1, so for a reset switch to reset +the closest standard rolling boulder trap it's tag should be "RBFTrap1". + +Details on each trap follow. + +- Lacero + + +*Razor Wire* + +Search DC: 22 +Disarm DC: 10 +Reflex DC: 25/10 +Damage: 2d6 slashing +Tag: RWFTrap + +This trap cannot be reset and will work until it is disarmed. +When someone knows the trap is there the Reflex DC is reduced to 10. +Also damage is halved for a failed disarm attempt. +When someone takes >=6 damage from the trap they have their movement reduced by +half for 20 seconds. + + +*Rolling Boulder* + +Search DC: 20 +Disarm DC: 22 +Reflex DC: 25 +Damage: 2d6 bludgeoning +Tag: RBFTrap + +The trap hits everyone in a cylinder along the boulder's path. +The trap stays around once fired, but will not trigger again until it is reset +by pulling the reset switch. Disarming the trap permanently stop it from +working. +When the trap deals any damage at all to someone they are knocked down for 30 +seconds, exactly the same as the knockdown feat. + + +*Rug Pit Trap* + +Search DC: 24 +Disarm DC: 20 +Reflex DC: 20/10 +Damage: 2d6 bludgeoning +Tag: RPFTrap + +The trap stays open once fired, and will trigger when anyone walks over the +hole, if you make the reflex save you take no damage. While open the trap has +a Reflex save of 10, to make it look like a normal carpet again pull the reset +switch. +Disarming the trap will make it into a normal carpet. +When hit by the trap people are made to dissappear for 60 seconds, while they +climb out. Unfortunately the animation for this makes them fly away, but as +VFX_COM_UNLOAD_MODEL doesn't do anything it's the best way I know. + + +*Metal Pit Trap* + +Search DC: 20 +Disarm DC: 23 +Reflex DC: 15/10 +Damage: 2d6 bludgeoning +Tag: MPFTrap + +The trap stays open once fired, and will trigger when anyone walks over the +hole, if you make the reflex save you take no damage. While open the trap has +a Reflex save of 10, to close it and hide it again pull the lever. +Disarming the trap will close the pit and leave it visible. +When hit by the trap people are made to dissappear for 30 seconds, while they +climb out. Unfortunately the animation for this makes them fly away, but as +VFX_COM_UNLOAD_MODEL doesn't do anything it's the best way I know. + + +*Wall Blade Trap* + +Search DC: 22 +Disarm DC: 22 +Reflex DC: 15 +Damage: 4x4d2 piercing +Tag: WSFTrap //Notice this is different to what you'd expect + +The trap can be reset, and so will work more than once. +The trap hits the person who triggered it with 4 blades, each doing 4d2 piercing +damage and saved for separately. +Disarming the trap will put the spikes away and leave the placeable visible. + + +*Falling Bricks Trap* + +Search DC: 20 +Disarm DC: 20 +Reflex DC: 15 +Damage: 2d6 bludgeoning +Tag: FBFTrap + +The trap will only work once. Everyone within 2 metres of the trap is hit +when it goes off. +Disarming the trap will hide the placeable. + + +*Swinging Rock Trap* + +Search DC: 20 +Disarm DC: 20 +Reflex DC: 15 +Damage: 4d6 bludgeoning +Tag: SRFTrap + +The trap can be reset and so will work more than once. Everyone within 2 +metres of the trap is hit when it goes off. +Disarming the trap will leave the placeable visible with the rock near the +ceiling. + + +*Swinging Blade Trap* + +Search DC: 22 +Disarm DC: 22 +Reflex DC: 15 +Damage: 1d13 slashing +Tag: SBFTrap + +The trap can be reset and so will work more than once. Everyone within 2 +metres of the trap is hit when it goes off. +Disarming the trap will leave the placeable visible with the blade near the +ceiling. + + +*Whirling Blade Trap* + +Search DC: 20 +Disarm DC: 20 +Reflex DC: 20 +Damage: 2d4+2 slashing +Tag: WBFTrap + +The trap can be reset and so will work more than once. Everyone within 5 +metres of the trap is hit every round when it is active. +Disarming the trap will stop it permanently. + + +*Flood Trap* + +Search DC: 17 +Disarm DC: 23 +Reflex DC: - +Damage: Death in 5 rounds +Tag: FlFTrap + +The trap can be reset and so will work more than once. +Everyone in the area of the water is killed 5 rounds after the trap is +triggered, unless the reset switch is pulled before this happens. +Also when triggered the trap will close and lock the nearest door. +While in the water people have the slow effect. +Disarming the trap will NOT get rid of water that is already there. +*/ diff --git a/cep_blueprints/_hak/prc_add_sb/trap_readmecep21.ncs b/cep_blueprints/_hak/prc_add_sb/trap_readmecep21.ncs new file mode 100644 index 0000000..ecb1c72 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/trap_readmecep21.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/trap_readmecep21.nss b/cep_blueprints/_hak/prc_add_sb/trap_readmecep21.nss new file mode 100644 index 0000000..87264be --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/trap_readmecep21.nss @@ -0,0 +1,49 @@ +/* +CEP v2.1 Trap Update +By: 420 +April 1, 2008 + +The trap system created by Firehazurd and Lacero was broken in earlier versions +of the CEP due to missing or incorrect trigger and placeable blueprints. These +blueprints have been added into the CEP v2.1 directly from the original source +on NWVault. Included below is a list of blueprint locations for the trap triggers +and placeables. + +To learn more about the trap system please download the demo mod from NWVault. + Module Name: Trapporium + Authors: Firehazurd and Lacero + Location: http://nwvault.ign.com/View.php?view=Hakpaks.Detail&id=3132 + +Blueprint Locations +(Note: Do not change blueprint tags or resrefs! Do not change the "trap type" +of triggers! Altering these may cause the trap scripts to malfunction.) + +Triggers: +Custom|Traps|0. Weak + Deep Pit Trap + Falling Brick Trap + Razor Wire Trap + Rolling Rock Trap + Rug Pit Trap + Swinging Blade Trap + Swinging Rock Trap + +Custom|Traps|1. Average + Flood Trap + Wall Blade Trap + Whirling Blade Trap + +Placeables: +Custom|Dungeon|Traps + Crushing Wall Trap + Falling Brick + Flood + Metal Pit + Razor Wire + Rolling Rock + Rug Pit + Swinging Blade + Swinging Rock + Wall Blade + Whirlling Blade +*/ diff --git a/cep_blueprints/_hak/prc_add_sb/trap_reset.ncs b/cep_blueprints/_hak/prc_add_sb/trap_reset.ncs new file mode 100644 index 0000000..310b538 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/trap_reset.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/trap_reset.nss b/cep_blueprints/_hak/prc_add_sb/trap_reset.nss new file mode 100644 index 0000000..1ed014d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/trap_reset.nss @@ -0,0 +1,55 @@ +//File name: trap_reset +//Usage/Description: +// Script fired during attmept to reset/disable a trap +// for use with CEP traps. + +#include "zep_inc_scrptdlg" + +void main() +{ + object oPC = GetLastUsedBy(); + string sTag = GetTag(OBJECT_SELF); + int nTrap = StringToInt(GetStringRight(sTag,1)); + + sTag = GetStringLeft(sTag,GetStringLength(sTag)-1); + object oO = GetNearestObjectByTag(sTag, OBJECT_SELF, nTrap); + object oAOE; + string sMessageToPC = GetStringByStrRef(nZEPTrapReset ,GENDER_MALE); + SendMessageToPC(oPC,sMessageToPC); + DeleteLocalInt(oO,"TRP_TRIGGERED"); + + object oTrap = GetLocalObject(oO,"TRP_PLCBL_OBJ"); + oAOE = GetNearestObject(OBJECT_TYPE_AREA_OF_EFFECT,oTrap); + if(GetAreaOfEffectCreator(oAOE)==oO) + { + DestroyObject(oAOE); + } + + if(sTag=="RPFTrap") + { + //AssignCommand(oTrap, PlaySound("as_sw_clothcl1")); + AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); + } + else if(sTag=="MPFTrap") + { + //AssignCommand(oTrap, PlaySound("as_dr_metmedcr2")); + AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); + DestroyObject(oTrap,1.0); + DeleteLocalInt(oO,"TRP_PLCBL_SHOW"); + } + else if(sTag=="FlFTrap") + { + AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); + DestroyObject(oTrap,1.0); + DeleteLocalInt(oO,"TRP_PLCBL_SHOW"); + SetLocked(GetNearestObject(OBJECT_TYPE_DOOR,oO),FALSE); + } + else + { + AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); + DestroyObject(oTrap,1.0); + DeleteLocalInt(oO,"TRP_PLCBL_SHOW"); + } + + PlaySound("as_sw_lever1"); +} diff --git a/cep_blueprints/_hak/prc_add_sb/ultrolothskin.uti b/cep_blueprints/_hak/prc_add_sb/ultrolothskin.uti new file mode 100644 index 0000000..f2f6a65 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/ultrolothskin.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/unicorn.utc b/cep_blueprints/_hak/prc_add_sb/unicorn.utc new file mode 100644 index 0000000..7735d0e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/unicorn.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/unicorn001.utc b/cep_blueprints/_hak/prc_add_sb/unicorn001.utc new file mode 100644 index 0000000..1672925 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/unicorn001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/unicornceles001.uti b/cep_blueprints/_hak/prc_add_sb/unicornceles001.uti new file mode 100644 index 0000000..cf7d264 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/unicornceles001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/unicornhide.uti b/cep_blueprints/_hak/prc_add_sb/unicornhide.uti new file mode 100644 index 0000000..041b072 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/unicornhide.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/wallbladepcbl.utp b/cep_blueprints/_hak/prc_add_sb/wallbladepcbl.utp new file mode 100644 index 0000000..48d2ada Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/wallbladepcbl.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/wallbladetrap.utt b/cep_blueprints/_hak/prc_add_sb/wallbladetrap.utt new file mode 100644 index 0000000..3d3fc08 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/wallbladetrap.utt differ diff --git a/cep_blueprints/_hak/prc_add_sb/whirlbladepcbl.utp b/cep_blueprints/_hak/prc_add_sb/whirlbladepcbl.utp new file mode 100644 index 0000000..71eb241 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/whirlbladepcbl.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/whirlingbladetra.utt b/cep_blueprints/_hak/prc_add_sb/whirlingbladetra.utt new file mode 100644 index 0000000..706b4f2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/whirlingbladetra.utt differ diff --git a/cep_blueprints/_hak/prc_add_sb/wyrmling_convo.ncs b/cep_blueprints/_hak/prc_add_sb/wyrmling_convo.ncs new file mode 100644 index 0000000..ad07d6e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/wyrmling_convo.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/wyrmling_convo.nss b/cep_blueprints/_hak/prc_add_sb/wyrmling_convo.nss new file mode 100644 index 0000000..3c4d644 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/wyrmling_convo.nss @@ -0,0 +1,117 @@ +//::////////////////////////////////////////////////// +//:: X0_CH_HEN_CONV +/* + + OnDialogue event handler for henchmen/associates. + + */ +//::////////////////////////////////////////////////// +//:: Copyright (c) 2002 Floodgate Entertainment +//:: Created By: Naomi Novik +//:: Created On: 01/05/2003 +//::////////////////////////////////////////////////// + + +#include "x0_inc_henai" +#include "x0_i0_henchman" + +//* GeorgZ - Put in a fix for henchmen talking even if they are petrified +int AbleToTalk(object oSelf) +{ + if (GetHasEffect(EFFECT_TYPE_CONFUSED, oSelf) || GetHasEffect(EFFECT_TYPE_DOMINATED, oSelf) || + GetHasEffect(EFFECT_TYPE_PETRIFY, oSelf) || GetHasEffect(EFFECT_TYPE_PARALYZE, oSelf) || + GetHasEffect(EFFECT_TYPE_STUNNED, oSelf) || GetHasEffect(EFFECT_TYPE_FRIGHTENED, oSelf) + ) + { + return FALSE; + } + + return TRUE; +} + + +#include "x0_i0_henchman" + + +void main() +{ + // * XP2, special handling code for interjections + // * This script only fires if someone inits with me. + // * with that in mind, I am now clearing any interjections + // * that the character might have on themselves. + object oShouter = GetLastSpeaker(); + + if (GetIsHenchmanDying() == TRUE) + { + return; + } + + object oMaster = GetMaster(); + int nMatch = GetListenPatternNumber(); + + object oIntruder; + + if (nMatch == -1) + { + // * September 2 2003 + // * Added the GetIsCommandable check back in so that + // * Henchman cannot be interrupted when they are walking away + if (GetCommandable(OBJECT_SELF) == TRUE && AbleToTalk(OBJECT_SELF) + && (GetCurrentAction() != ACTION_OPENLOCK)) + { //SetCommandable(TRUE); + ClearActions(CLEAR_X0_CH_HEN_CONV_26); + + + string sDialogFileToUse = GetDialogFileToUse(GetLastSpeaker()); + + + BeginConversation(sDialogFileToUse); + } + } + else + { + // listening pattern matched + if (GetIsObjectValid(oMaster)) + { + // we have a master, only listen to them + // * Nov 2003 - Added an AbleToTalk, so that henchmen + // * do not respond to orders when 'frozen' + if (GetIsObjectValid(oShouter) && oMaster == oShouter && AbleToTalk(OBJECT_SELF)) { + SetCommandable(TRUE); + bkRespondToHenchmenShout(oShouter, nMatch, oIntruder); + } + } + + // we don't have a master, behave in default way + else if (GetIsObjectValid(oShouter) + && !GetIsPC(oShouter) + && GetIsFriend(oShouter)) { + + object oIntruder = OBJECT_INVALID; + + // Determine the intruder if any + if(nMatch == 4) { + oIntruder = GetLocalObject(oShouter, "NW_BLOCKER_INTRUDER"); + } + else if (nMatch == 5) { + oIntruder = GetLastHostileActor(oShouter); + if(!GetIsObjectValid(oIntruder)) { + oIntruder = GetAttemptedAttackTarget(); + if(!GetIsObjectValid(oIntruder)) { + oIntruder = GetAttemptedSpellTarget(); + } + } + } + + // Actually respond to the shout + RespondToShout(oShouter, nMatch, oIntruder); + } + } + + + // Signal user-defined event + if(GetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT)) { + SignalEvent(OBJECT_SELF, EventUserDefined(EVENT_DIALOGUE)); + } +} + diff --git a/cep_blueprints/_hak/prc_add_sb/wyrmling_death.ncs b/cep_blueprints/_hak/prc_add_sb/wyrmling_death.ncs new file mode 100644 index 0000000..3d717be Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/wyrmling_death.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/wyrmling_death.nss b/cep_blueprints/_hak/prc_add_sb/wyrmling_death.nss new file mode 100644 index 0000000..67025c9 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/wyrmling_death.nss @@ -0,0 +1,48 @@ +//::////////////////////////////////////////////////// +//:: X0_CH_HEN_DEATH +//:: Copyright (c) 2002 Floodgate Entertainment +//::////////////////////////////////////////////////// +/* + OnDeath handler for henchmen ONLY. Causes them to respawn at + (in order of preference) the respawn point of their master + or their own starting location. + */ +//::////////////////////////////////////////////////// +//:: Created By: Naomi Novik +//:: Created On: 10/09/2002 +//::////////////////////////////////////////////////// + +#include "x0_i0_henchman" + +void main() +{ + // Handle a bunch of stuff to keep us from running around, + // dying again, etc. + PreRespawnSetup(); + + // Call for healing + DelayCommand(0.5, VoiceHealMe(TRUE)); + + // Get our last master + object oPC = GetLastMaster(); + object oSelf = OBJECT_SELF; + + + // Clear dialogue events + ClearAllDialogue(oPC, OBJECT_SELF); + ClearAllActions(); + + if (GetIsObjectValid(oPC) == FALSE) + { + // SpawnScriptDebugger(); + // * if you kill a henchmen who has never had a master + // * then permanently kill them to prevent + // * faction issues. + SetPlotFlag(OBJECT_SELF,FALSE); + SetImmortal(OBJECT_SELF, FALSE); + SetIsDestroyable(TRUE, FALSE, FALSE); + DestroyObject(OBJECT_SELF, 0.2); + return; + } +} + diff --git a/cep_blueprints/_hak/prc_add_sb/wyrmling_dismiss.ncs b/cep_blueprints/_hak/prc_add_sb/wyrmling_dismiss.ncs new file mode 100644 index 0000000..981e666 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/wyrmling_dismiss.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/wyrmling_dismiss.nss b/cep_blueprints/_hak/prc_add_sb/wyrmling_dismiss.nss new file mode 100644 index 0000000..56b8ca7 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/wyrmling_dismiss.nss @@ -0,0 +1,14 @@ +// +// +// +void main() +{ + object oPc = GetPCSpeaker(); + object oWyrmling = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, oPc, 1); + + RemoveHenchman(oPc, oWyrmling); + SetPlotFlag(oWyrmling, FALSE); + SetImmortal(oWyrmling, FALSE); + DestroyObject(oWyrmling, 0.2); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/wyrmling_spawn.ncs b/cep_blueprints/_hak/prc_add_sb/wyrmling_spawn.ncs new file mode 100644 index 0000000..051c142 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/wyrmling_spawn.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/wyrmling_spawn.nss b/cep_blueprints/_hak/prc_add_sb/wyrmling_spawn.nss new file mode 100644 index 0000000..31334c8 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/wyrmling_spawn.nss @@ -0,0 +1,77 @@ +//::////////////////////////////////////////////////// +//:: X0_CH_HEN_SPAWN +//:: Copyright (c) 2002 Floodgate Entertainment +//::////////////////////////////////////////////////// +/* +Henchman-specific OnSpawn handler for XP1. Based on NW_CH_AC9 by Bioware. +*/ +//::////////////////////////////////////////////////// +//:: Created By: Naomi Novik +//:: Created On: 10/09/2002 +//::////////////////////////////////////////////////// + +#include "x0_inc_henai" +#include "x2_inc_banter" +#include "x2_inc_globals" + +// +// +// +void main() +{ + string sAreaTag = GetTag(GetArea(OBJECT_SELF)); + string sModuleTag = GetTag(GetModule()); + string sMyTag = GetTag(OBJECT_SELF); + + + + //Sets up the special henchmen listening patterns + SetAssociateListenPatterns(); + + // Set additional henchman listening patterns + bkSetListeningPatterns(); + + // Default behavior for henchmen at start + SetAssociateState(NW_ASC_POWER_CASTING); + SetAssociateState(NW_ASC_HEAL_AT_50); + SetAssociateState(NW_ASC_RETRY_OPEN_LOCKS, FALSE); + SetAssociateState(NW_ASC_DISARM_TRAPS, FALSE); + + // * July 2003. Set this to true so henchmen + // * will hopefully run off a little less often + // * by default + // * September 2003. Bad decision. Reverted back + // * to original. This mode too often looks like a bug + // * because they hang back and don't help each other out. + //SetAssociateState(NW_ASC_MODE_DEFEND_MASTER, TRUE); + SetAssociateState(NW_ASC_DISTANCE_2_METERS); + + //Use melee weapons by default + SetAssociateState(NW_ASC_USE_RANGED_WEAPON, FALSE); + + // Set starting location + SetAssociateStartLocation(); + + // Set respawn location + SetRespawnLocation(); + + // For some general behavior while we don't have a master, + // let's do some immobile animations + SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS); + + SetIsDestroyable(TRUE, FALSE, FALSE); + + // * September 2003 + // * Scan through all equipped items and make + // * sure they are identified + int i = 0; + object oItem; + for (i = INVENTORY_SLOT_HEAD; i<=INVENTORY_SLOT_CARMOUR; i++) + { + oItem = GetItemInSlot(i, OBJECT_SELF); + if (GetIsObjectValid(oItem) == TRUE) + SetIdentified(oItem, TRUE); + } + +} + diff --git a/cep_blueprints/_hak/prc_add_sb/yagnolothskin.uti b/cep_blueprints/_hak/prc_add_sb/yagnolothskin.uti new file mode 100644 index 0000000..fd2e614 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/yagnolothskin.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/z217_behold.nss b/cep_blueprints/_hak/prc_add_sb/z217_behold.nss new file mode 100644 index 0000000..c7c95f0 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/z217_behold.nss @@ -0,0 +1,609 @@ +/////////////////////////////////////////////////// +// Beholder Ray: Include file // +/////////////////////////////////////////////////// +/* + These are the functions the beholder uses to + act in it's most evil way... hehe +*/ +/////////////////////////////////////////////////// +// Created By: Zarathustra217 // +// Created On: Jan 28. 2003 // +/////////////////////////////////////////////////// +float ConvAngle(float fAngle) +{ + while(fAngle<0.0) + { + fAngle=fAngle+360.0; + } + while(fAngle>=360.0) + { + fAngle=fAngle-360.0; + } + return fAngle; +} +int GetLevel(object oTarget) +{ + int nTemp=1; + int nLevel=0; + while(nTemp<4) + { + int nClass=GetClassByPosition(nTemp,oTarget); + nLevel+=GetLevelByPosition(nTemp,oTarget); + nTemp++; + } + return nLevel; +} +int ClassSpellLvl(object oTarget) +{ + int nTemp=1; + int nSpellLvl=0; + while(nTemp<4) + { + int nClass=GetClassByPosition(nTemp,oTarget); + if(nClass==CLASS_TYPE_CLERIC||nClass==CLASS_TYPE_DRUID||nClass==CLASS_TYPE_SORCERER||nClass==CLASS_TYPE_WIZARD) + { + nSpellLvl+=GetLevelByPosition(nTemp,oTarget); + nTemp++; + } + else + { + nTemp++; + } + } + return nSpellLvl; +} +int GetSpellCasterLvl(object oTarget) +{ + if(ClassSpellLvl(oTarget)>0) + { + return ClassSpellLvl(oTarget); + } + else + { + return 0; + } +} +//Angle relative to beholder calculater +float CalcAngle(object oTarget) +{ + float fBangle=GetFacing(oBeholder); + vector vBpos=GetPosition(oBeholder); + vector vTpos=GetPosition(oTarget); + vector vAngelvector=Vector(vTpos.x-vBpos.x,vTpos.y-vBpos.y,0.0); + float fAngle=fBangle-VectorToAngle(vAngelvector); + return ConvAngle(fAngle); +} +int CalcArc(object oTarget) +{ + float fTangle=CalcAngle(oTarget); + if(fTangle>=225.0&&fTangle<=315.0) + { + return 4; + } + else if(fTangle>=135.0&&fTangle<=225.0) + { + return 3; + } + else if(fTangle>=45.0&&fTangle<=135.0) + { + return 2; + } + else if(315.03.0) + { + //Debug String + //AssignCommand(oBeholder,SpeakString("This position is good!")); + //ID:1 + if(GetLocalInt(oBeholder,"CurrentAction")!=1) + { + SetLocalInt(oBeholder,"CurrentAction",1); + AssignCommand(oBeholder,ClearAllActions()); + AssignCommand(oBeholder,SetFacingPoint(GetPosition(oFacing))); + AssignCommand(oBeholder,ActionAttack(oFacing,TRUE)); + } + else + { + AssignCommand(oBeholder,ActionAttack(oFacing,TRUE)); + } + } + else + { + //Debug String + //AssignCommand(oBeholder,SpeakString("This position is ok!")); + //ID:2 + if(GetLocalInt(oBeholder,"CurrentAction")!=2) + { + SetLocalInt(oBeholder,"CurrentAction",2); + AssignCommand(oBeholder,ClearAllActions()); + AssignCommand(oBeholder,ActionAttack(oFacing,FALSE)); + } + else + { + AssignCommand(oBeholder,ActionAttack(oFacing,FALSE)); + } + } + //AssignCommand(oBeholder,ActionAttack(oFacing,TRUE)); + } + else + { + //Debug String + //AssignCommand(oBeholder,SpeakString("I'll just eat you!")); + //ID:3 + if(GetLocalInt(oBeholder,"CurrentAction")!=3) + { + SetLocalInt(oBeholder,"CurrentAction",3); + AssignCommand(oBeholder,ClearAllActions()); + AssignCommand(oBeholder,ActionAttack(oNearestE,FALSE)); + } + else + { + AssignCommand(oBeholder,ActionAttack(oNearestE,FALSE)); + } + } + } + else + { + //Debug String + //AssignCommand(oBeholder,SpeakString("This position is bad!")); + //ID:4 + if(GetLocalInt(oBeholder,"CurrentAction")!=4||GetCurrentAction(oBeholder)!=ACTION_MOVETOPOINT) + { + SetLocalInt(oBeholder,"CurrentAction",4); + AssignCommand(oBeholder,ClearAllActions()); + if(GetDistanceBetween(oBeholder,oFacing)>fPrefDist) + { + AssignCommand(oBeholder,ActionAttack(oFacing,FALSE)); + } + else + { + AssignCommand(oBeholder,ActionMoveAwayFromObject(oNearestE,TRUE,1.5*fPrefDist)); + } + } + else + { + if(GetDistanceBetween(oBeholder,oFacing)>fPrefDist) + { + AssignCommand(oBeholder,ActionAttack(oFacing,FALSE)); + } + else + { + AssignCommand(oBeholder,ActionMoveAwayFromObject(oNearestE,TRUE,1.5*fPrefDist)); + } + } + } +} + diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_default1.ncs b/cep_blueprints/_hak/prc_add_sb/z_c2_default1.ncs new file mode 100644 index 0000000..9e1fc5f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/z_c2_default1.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_default1.nss b/cep_blueprints/_hak/prc_add_sb/z_c2_default1.nss new file mode 100644 index 0000000..b4174ee --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/z_c2_default1.nss @@ -0,0 +1,103 @@ +//:://///////////////////////////////////////////// +//:: Default On Heartbeat +//:: NW_C2_DEFAULT1 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + This script will have people perform default + animations. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Nov 23, 2001 +//:: Modified by Zarathstra217 +//::////////////////////////////////////////////// +#include "NW_I0_GENERIC" +void main() +{ + SetLocalInt(OBJECT_SELF,"ArcTargetsDone",0); + effect eAOE = EffectAreaOfEffect(50); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100)); + if(GetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY)) + { + if(TalentAdvancedBuff(40.0)) + { + SetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY, FALSE); + return; + } + } + + if(GetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING)) + { + int nDay = FALSE; + if(GetIsDay() || GetIsDawn()) + { + nDay = TRUE; + } + if(GetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT") != nDay) + { + if(nDay == TRUE) + { + SetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT", TRUE); + } + else + { + SetLocalInt(OBJECT_SELF, "NW_GENERIC_DAY_NIGHT", FALSE); + } + WalkWayPoints(); + } + } + + if(!GetHasEffect(EFFECT_TYPE_SLEEP)) + { + if(!GetIsPostOrWalking()) + { + if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget())) + { + if(!GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN))) + { + if(!GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL) && !IsInConversation(OBJECT_SELF)) + { + if(GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS) || GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS_AVIAN)) + { + PlayMobileAmbientAnimations(); + } + else if(GetIsEncounterCreature() && + !GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN))) + { + PlayMobileAmbientAnimations(); + } + else if(GetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS) && + !GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN))) + { + PlayImmobileAmbientAnimations(); + } + } + else + { + //DetermineSpecialBehavior(); + } + } + else + { + //DetermineCombatRound(); + } + } + } + } + else + { + if(GetSpawnInCondition(NW_FLAG_SLEEPING_AT_NIGHT)) + { + effect eVis = EffectVisualEffect(VFX_IMP_SLEEP); + if(d10() > 6) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF); + } + } + } + if(GetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT)) + { + SignalEvent(OBJECT_SELF, EventUserDefined(1001)); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_default2.ncs b/cep_blueprints/_hak/prc_add_sb/z_c2_default2.ncs new file mode 100644 index 0000000..f9a0ee7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/z_c2_default2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_default2.nss b/cep_blueprints/_hak/prc_add_sb/z_c2_default2.nss new file mode 100644 index 0000000..e5c6b38 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/z_c2_default2.nss @@ -0,0 +1,77 @@ +//:://///////////////////////////////////////////// +//:: Default On Percieve +//:: NW_C2_DEFAULT2 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Checks to see if the perceived target is an + enemy and if so fires the Determine Combat + Round function +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 16, 2001 +//:: Modified by Zarathstra217 +//::////////////////////////////////////////////// + +#include "NW_I0_GENERIC" + +void main() +{ + object oPercieved=GetLastPerceived(); + if(GetIsEnemy(oPercieved)&&!GetIsInCombat()&&!GetIsFighting(OBJECT_SELF)) + { + ActionAttack(oPercieved); + } + +/* + //This is the equivalent of a force conversation bubble, should only be used if you want an NPC + //to say something while he is already engaged in combat. + if(GetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION) && GetIsPC(GetLastPerceived()) && GetLastPerceptionSeen()) + { + SpeakOneLinerConversation(); + } + //If the last perception event was hearing based or if someone vanished then go to search mode + if ((GetLastPerceptionVanished()) && GetIsEnemy(GetLastPerceived())) + { + object oGone = GetLastPerceived(); + if((GetAttemptedAttackTarget() == GetLastPerceived() || + GetAttemptedSpellTarget() == GetLastPerceived() || + GetAttackTarget() == GetLastPerceived()) && GetArea(GetLastPerceived()) != GetArea(OBJECT_SELF)) + { + ClearAllActions(); + DetermineCombatRound(); + } + } + //Do not bother checking the last target seen if already fighting + else if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget())) + { + //Check if the last percieved creature was actually seen + if(GetLastPerceptionSeen()) + { + if(GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL)) + { + DetermineSpecialBehavior(); + } + else if(GetIsEnemy(GetLastPerceived())) + { + if(!GetHasEffect(EFFECT_TYPE_SLEEP)) + { + SetFacingPoint(GetPosition(GetLastPerceived())); + SpeakString("NW_I_WAS_ATTACKED", TALKVOLUME_SILENT_TALK); + DetermineCombatRound(); + } + } + //Linked up to the special conversation check to initiate a special one-off conversation + //to get the PCs attention + else if(GetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION) && GetIsPC(GetLastPerceived())) + { + ActionStartConversation(OBJECT_SELF); + } + } + } + if(GetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT) && GetLastPerceptionSeen()) + { + SignalEvent(OBJECT_SELF, EventUserDefined(1002)); + } +*/} diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_default3.ncs b/cep_blueprints/_hak/prc_add_sb/z_c2_default3.ncs new file mode 100644 index 0000000..5bf4aef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/z_c2_default3.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_default3.nss b/cep_blueprints/_hak/prc_add_sb/z_c2_default3.nss new file mode 100644 index 0000000..a9304ba --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/z_c2_default3.nss @@ -0,0 +1,20 @@ +//:://///////////////////////////////////////////// +//:: Default: End of Combat Round +//:: NW_C2_DEFAULT3 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Calls the end of combat script every round +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 16, 2001 +//:: Modified by Zarathstra217 +//::////////////////////////////////////////////// + +#include "NW_I0_GENERIC" +void main() +{ +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_default4.ncs b/cep_blueprints/_hak/prc_add_sb/z_c2_default4.ncs new file mode 100644 index 0000000..b6b81d0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/z_c2_default4.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_default4.nss b/cep_blueprints/_hak/prc_add_sb/z_c2_default4.nss new file mode 100644 index 0000000..1e318ae --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/z_c2_default4.nss @@ -0,0 +1,61 @@ +//:://///////////////////////////////////////////// +//:: SetListeningPatterns +//:: NW_C2_DEFAULT4 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + by the generic script after dialogue or a + shout is initiated. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 24, 2001 +//:: Modified by Zarathstra217 +//::////////////////////////////////////////////// + +#include "NW_I0_GENERIC" + +void main() +{ + int nMatch = GetListenPatternNumber(); + object oShouter = GetLastSpeaker(); + object oIntruder; + + if (nMatch == -1 && GetCommandable(OBJECT_SELF)) + { + ClearAllActions(); + BeginConversation(); + } + else + if(nMatch != -1 && GetIsObjectValid(oShouter) && !GetIsPC(oShouter) && GetIsFriend(oShouter)) + { + if(nMatch == 4) + { + oIntruder = GetLocalObject(oShouter, "NW_BLOCKER_INTRUDER"); + } + else if (nMatch == 5) + { + oIntruder = GetLastHostileActor(oShouter); + if(!GetIsObjectValid(oIntruder)) + { + oIntruder = GetAttemptedAttackTarget(); + if(!GetIsObjectValid(oIntruder)) + { + oIntruder = GetAttemptedSpellTarget(); + if(!GetIsObjectValid(oIntruder)) + { + oIntruder = OBJECT_INVALID; + } + } + } + } + RespondToShout(oShouter, nMatch, oIntruder); + } + + + if(GetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT)) + { + SignalEvent(OBJECT_SELF, EventUserDefined(1004)); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_default5.ncs b/cep_blueprints/_hak/prc_add_sb/z_c2_default5.ncs new file mode 100644 index 0000000..5bf4aef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/z_c2_default5.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_default5.nss b/cep_blueprints/_hak/prc_add_sb/z_c2_default5.nss new file mode 100644 index 0000000..ebebe0f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/z_c2_default5.nss @@ -0,0 +1,64 @@ +//:://///////////////////////////////////////////// +//:: Default On Attacked +//:: NW_C2_DEFAULT5 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + If already fighting then ignore, else determine + combat round +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 16, 2001 +//:: Modified by Zarathstra217 +//::////////////////////////////////////////////// + +#include "NW_I0_GENERIC" + +void main() +{/* + if(!GetFleeToExit()) + { + if(!GetSpawnInCondition(NW_FLAG_SET_WARNINGS)) + { + if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget())) + { + if(GetIsObjectValid(GetLastAttacker())) + { + if(GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL)) + { + //AdjustReputation(GetLastAttacker(), OBJECT_SELF, -100); + SetSummonHelpIfAttacked(); + DetermineSpecialBehavior(GetLastAttacker()); + } + else + { + if(GetArea(GetLastAttacker()) == GetArea(OBJECT_SELF)) + { + SetSummonHelpIfAttacked(); + DetermineCombatRound(); + } + } + //Shout Attack my target, only works with the On Spawn In setup + SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK); + //Shout that I was attacked + SpeakString("NW_I_WAS_ATTACKED", TALKVOLUME_SILENT_TALK); + } + } + } + else + { + //Put a check in to see if this attacker was the last attacker + //Possibly change the GetNPCWarning function to make the check + SetSpawnInCondition(NW_FLAG_SET_WARNINGS, FALSE); + } + } + else + { + ActivateFleeToExit(); + } + if(GetSpawnInCondition(NW_FLAG_ATTACK_EVENT)) + { + SignalEvent(OBJECT_SELF, EventUserDefined(1005)); + } +*/} diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_default6.ncs b/cep_blueprints/_hak/prc_add_sb/z_c2_default6.ncs new file mode 100644 index 0000000..5bf4aef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/z_c2_default6.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_default6.nss b/cep_blueprints/_hak/prc_add_sb/z_c2_default6.nss new file mode 100644 index 0000000..0f25472 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/z_c2_default6.nss @@ -0,0 +1,65 @@ +//:://///////////////////////////////////////////// +//:: Default On Damaged +//:: NW_C2_DEFAULT6 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + If already fighting then ignore, else determine + combat round +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 16, 2001 +//:: Modified by Zarathstra217 +//::////////////////////////////////////////////// + +#include "NW_I0_GENERIC" + +void main() +{/* + if(!GetFleeToExit()) + { + if(!GetSpawnInCondition(NW_FLAG_SET_WARNINGS)) + { + if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget())) + { + if(GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL)) + { + DetermineSpecialBehavior(GetLastDamager()); + } + else if(GetIsObjectValid(GetLastDamager())) + { + DetermineCombatRound(); + if(!GetIsFighting(OBJECT_SELF)) + { + object oTarget = GetLastDamager(); + if(!GetObjectSeen(oTarget) && GetArea(OBJECT_SELF) == GetArea(oTarget)) + { + ActionMoveToLocation(GetLocation(oTarget), TRUE); + ActionDoCommand(DetermineCombatRound()); + } + } + } + } + else if (!GetIsObjectValid(GetAttemptedSpellTarget())) + { + object oTarget = GetAttackTarget(); + if(!GetIsObjectValid(oTarget)) + { + oTarget = GetAttemptedAttackTarget(); + } + object oAttacker = GetLastHostileActor(); + if (GetIsObjectValid(oAttacker) && oTarget != oAttacker && GetIsEnemy(oAttacker) && + (GetTotalDamageDealt() > (GetMaxHitPoints(OBJECT_SELF) / 4) || + (GetHitDice(oAttacker) - 2) > GetHitDice(oTarget) ) ) + { + DetermineCombatRound(oAttacker); + } + } + } + } + if(GetSpawnInCondition(NW_FLAG_DAMAGED_EVENT)) + { + SignalEvent(OBJECT_SELF, EventUserDefined(1006)); + } +*/} diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_default7.ncs b/cep_blueprints/_hak/prc_add_sb/z_c2_default7.ncs new file mode 100644 index 0000000..57874e5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/z_c2_default7.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_default7.nss b/cep_blueprints/_hak/prc_add_sb/z_c2_default7.nss new file mode 100644 index 0000000..ccc8662 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/z_c2_default7.nss @@ -0,0 +1,33 @@ +//:://///////////////////////////////////////////// +//:: Default:On Death +//:: NW_C2_DEFAULT7 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Shouts to allies that they have been killed +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 25, 2001 +//:: Modified by Zarathstra217 +//::////////////////////////////////////////////// +#include "NW_I0_GENERIC" + +void main() +{ + int nClass = GetLevelByClass(CLASS_TYPE_COMMONER); + int nAlign = GetAlignmentGoodEvil(OBJECT_SELF); + if(nClass > 0 && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL)) + { + object oKiller = GetLastKiller(); + AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5); + } + + SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK); + //Shout Attack my target, only works with the On Spawn In setup + SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK); + if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT)) + { + SignalEvent(OBJECT_SELF, EventUserDefined(1007)); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_default8.ncs b/cep_blueprints/_hak/prc_add_sb/z_c2_default8.ncs new file mode 100644 index 0000000..5bf4aef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/z_c2_default8.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_default8.nss b/cep_blueprints/_hak/prc_add_sb/z_c2_default8.nss new file mode 100644 index 0000000..76483a6 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/z_c2_default8.nss @@ -0,0 +1,36 @@ +//:://///////////////////////////////////////////// +//:: Default: On Disturbed +//:: NW_C2_DEFAULT8 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Calls the end of combat script every round +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 16, 2001 +//:: Modified by Zarathstra217 +//:://///////////////////////////////////////// + +// * Make me hostile the faction of my last attacker (TEMP) +// AdjustReputation(OBJECT_SELF,GetFaction(GetLastAttacker()),-100); +// * Determined Combat Round + +#include "NW_I0_GENERIC" + +void main() +{/* + object oTarget = GetLastDisturbed(); + + if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget())) + { + if(GetIsObjectValid(oTarget)) + { + DetermineCombatRound(oTarget); + } + } + if(GetSpawnInCondition(NW_FLAG_DISTURBED_EVENT)) + { + SignalEvent(OBJECT_SELF, EventUserDefined(1008)); + } +*/} diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_default9.ncs b/cep_blueprints/_hak/prc_add_sb/z_c2_default9.ncs new file mode 100644 index 0000000..54e573f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/z_c2_default9.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_default9.nss b/cep_blueprints/_hak/prc_add_sb/z_c2_default9.nss new file mode 100644 index 0000000..4229202 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/z_c2_default9.nss @@ -0,0 +1,79 @@ +//:://///////////////////////////////////////////// +//:: Default: On Spawn In +//:: NW_C2_DEFAULT9 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 25, 2001 +//:: Modified by Zarathstra217 +//::////////////////////////////////////////////// +#include "NW_O2_CONINCLUDE" +#include "NW_I0_GENERIC" + +void main() +{ +// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING); + //SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION); + //SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS); + //SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + +// CUSTOM USER DEFINED EVENTS +/* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 +*/ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + +// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) ***************************************************************************************** + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + GenerateNPCTreasure(); //* Use this to create a small amount of treasure on the creature + SetLocalInt(OBJECT_SELF,"ArcTargetsDone",0); + effect eAOE = EffectAreaOfEffect(50); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, OBJECT_SELF, HoursToSeconds(100)); +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_defaulta.ncs b/cep_blueprints/_hak/prc_add_sb/z_c2_defaulta.ncs new file mode 100644 index 0000000..f869d46 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/z_c2_defaulta.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_defaulta.nss b/cep_blueprints/_hak/prc_add_sb/z_c2_defaulta.nss new file mode 100644 index 0000000..e4f3af1 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/z_c2_defaulta.nss @@ -0,0 +1,21 @@ +//:://///////////////////////////////////////////// +//:: Default: On Rested +//:: NW_C2_DEFAULTA +//:: Copyright (c) 2002 Bioware Corp. +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just rested. +*/ +//::////////////////////////////////////////////// +//:: Created By: Don Moar +//:: Created On: April 28, 2002 +//:: Modified by Zarathstra217 +//::////////////////////////////////////////////// +void main() +{ + // enter desired behaviour here + + return; + +} diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_defaultb.ncs b/cep_blueprints/_hak/prc_add_sb/z_c2_defaultb.ncs new file mode 100644 index 0000000..5bf4aef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/z_c2_defaultb.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_defaultb.nss b/cep_blueprints/_hak/prc_add_sb/z_c2_defaultb.nss new file mode 100644 index 0000000..cc59e4f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/z_c2_defaultb.nss @@ -0,0 +1,48 @@ +//:://///////////////////////////////////////////// +//:: Default: On Spell Cast At +//:: NW_C2_DEFAULTB +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + This determines if the spell just cast at the + target is harmful or not. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Dec 6, 2001 +//:: Modified by Zarathstra217 +//::////////////////////////////////////////////// + +#include "NW_I0_GENERIC" + +void main() +{/* + object oCaster = GetLastSpellCaster(); + if(GetLastSpellHarmful()) + { + if( + !GetIsObjectValid(GetAttackTarget()) && + !GetIsObjectValid(GetAttemptedSpellTarget()) && + !GetIsObjectValid(GetAttemptedAttackTarget()) && + GetIsObjectValid(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN)) + ) + { + if(GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL)) + { + DetermineSpecialBehavior(oCaster); + } + else + { + DetermineCombatRound(oCaster); + } + //Shout Attack my target, only works with the On Spawn In setup + SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK); + //Shout that I was attacked + SpeakString("NW_I_WAS_ATTACKED", TALKVOLUME_SILENT_TALK); + } + } + if(GetSpawnInCondition(NW_FLAG_SPELL_CAST_AT_EVENT)) + { + SignalEvent(OBJECT_SELF, EventUserDefined(1011)); + } +*/} diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_defaultd.ncs b/cep_blueprints/_hak/prc_add_sb/z_c2_defaultd.ncs new file mode 100644 index 0000000..f869d46 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/z_c2_defaultd.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_defaultd.nss b/cep_blueprints/_hak/prc_add_sb/z_c2_defaultd.nss new file mode 100644 index 0000000..3f3ed16 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/z_c2_defaultd.nss @@ -0,0 +1,21 @@ +//:://///////////////////////////////////////////// +//:: Default: On User Defined +//:: NW_C2_DEFAULTD +//:: Copyright (c) 2002 Bioware Corp. +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + on a user defined event. +*/ +//::////////////////////////////////////////////// +//:: Created By: Don Moar +//:: Created On: April 28, 2002 +//:: Modified by Zarathstra217 +//::////////////////////////////////////////////// +void main() +{ + // enter desired behaviour here + + return; + +} diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_defaulte.ncs b/cep_blueprints/_hak/prc_add_sb/z_c2_defaulte.ncs new file mode 100644 index 0000000..06b5312 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/z_c2_defaulte.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/z_c2_defaulte.nss b/cep_blueprints/_hak/prc_add_sb/z_c2_defaulte.nss new file mode 100644 index 0000000..d05b173 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/z_c2_defaulte.nss @@ -0,0 +1,33 @@ +//:://///////////////////////////////////////////// +//:: Default On Heartbeat +//:: NW_C2_DEFAULTE +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + This will cause blocked creatures to open + or smash down doors depending on int and + str. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Nov 23, 2001 +//:: Modified by Zarathstra217 +//::////////////////////////////////////////////// +#include "z217_behold" +object oBeholder=GetAreaOfEffectCreator(); +void main() +{ + object oDoor = GetBlockingDoor(); + + if(GetAbilityScore(OBJECT_SELF, ABILITY_INTELLIGENCE) >= 5) + { + if(GetIsDoorActionPossible(oDoor, DOOR_ACTION_OPEN) && GetAbilityScore(OBJECT_SELF, ABILITY_INTELLIGENCE) >= 7 ) + { + DoDoorAction(oDoor, DOOR_ACTION_OPEN); + } + else if(GetIsDoorActionPossible(oDoor, DOOR_ACTION_BASH)) + { + Disintegrate(oDoor); //DoDoorAction(oDoor, DOOR_ACTION_BASH); + } + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/ze_wartrollsword.uti b/cep_blueprints/_hak/prc_add_sb/ze_wartrollsword.uti new file mode 100644 index 0000000..5ff909d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/ze_wartrollsword.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_aarakocr_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_aarakocr_001.utc new file mode 100644 index 0000000..63d54de Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_aarakocr_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_aarakocr_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_aarakocr_002.utc new file mode 100644 index 0000000..556048d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_aarakocr_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_aarakocr_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_aarakocr_003.utc new file mode 100644 index 0000000..5eda70b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_aarakocr_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_aarakocr_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_aarakocr_004.utc new file mode 100644 index 0000000..788e915 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_aarakocr_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_aardvark.utc b/cep_blueprints/_hak/prc_add_sb/zep_aardvark.utc new file mode 100644 index 0000000..3244010 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_aardvark.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_abishaib_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_abishaib_001.utc new file mode 100644 index 0000000..9cb8878 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_abishaib_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_abishaib_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_abishaib_002.utc new file mode 100644 index 0000000..d84607e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_abishaib_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_abishaib_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_abishaib_003.utc new file mode 100644 index 0000000..6d6fbc8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_abishaib_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_abishaib_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_abishaib_004.utc new file mode 100644 index 0000000..480b2d1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_abishaib_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_abishaig_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_abishaig_001.utc new file mode 100644 index 0000000..9cfb079 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_abishaig_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_abishaig_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_abishaig_002.utc new file mode 100644 index 0000000..3c38e7b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_abishaig_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_abishair_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_abishair_001.utc new file mode 100644 index 0000000..dcc1175 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_abishair_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_abishair_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_abishair_002.utc new file mode 100644 index 0000000..aa8965a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_abishair_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_abishaiw_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_abishaiw_001.utc new file mode 100644 index 0000000..3e847e6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_abishaiw_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_abishaiw_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_abishaiw_002.utc new file mode 100644 index 0000000..dc8363a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_abishaiw_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_aboleth.utc b/cep_blueprints/_hak/prc_add_sb/zep_aboleth.utc new file mode 100644 index 0000000..07fdde9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_aboleth.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_aecm_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_aecm_001.uti new file mode 100644 index 0000000..ea66770 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_aecm_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ahuizutl.utc b/cep_blueprints/_hak/prc_add_sb/zep_ahuizutl.utc new file mode 100644 index 0000000..684914f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ahuizutl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_albemic001.utp b/cep_blueprints/_hak/prc_add_sb/zep_albemic001.utp new file mode 100644 index 0000000..e62b176 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_albemic001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_alpaca.utc b/cep_blueprints/_hak/prc_add_sb/zep_alpaca.utc new file mode 100644 index 0000000..be9ec54 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_alpaca.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_altar001.utp b/cep_blueprints/_hak/prc_add_sb/zep_altar001.utp new file mode 100644 index 0000000..57e2940 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_altar001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_altar002.utp b/cep_blueprints/_hak/prc_add_sb/zep_altar002.utp new file mode 100644 index 0000000..687e95d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_altar002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_altarcloth.utp b/cep_blueprints/_hak/prc_add_sb/zep_altarcloth.utp new file mode 100644 index 0000000..2604a37 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_altarcloth.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_altarevil1.utp b/cep_blueprints/_hak/prc_add_sb/zep_altarevil1.utp new file mode 100644 index 0000000..505bc59 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_altarevil1.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_altarevil2.utp b/cep_blueprints/_hak/prc_add_sb/zep_altarevil2.utp new file mode 100644 index 0000000..63168af Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_altarevil2.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_altarevil3.utp b/cep_blueprints/_hak/prc_add_sb/zep_altarevil3.utp new file mode 100644 index 0000000..ff84b94 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_altarevil3.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_always_false.ncs b/cep_blueprints/_hak/prc_add_sb/zep_always_false.ncs new file mode 100644 index 0000000..2a79a4e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_always_false.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_always_false.nss b/cep_blueprints/_hak/prc_add_sb/zep_always_false.nss new file mode 100644 index 0000000..0c36d49 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_always_false.nss @@ -0,0 +1,7 @@ +int StartingConditional() +{ + int iResult; + + iResult = 0; + return iResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_animalcag001.utp b/cep_blueprints/_hak/prc_add_sb/zep_animalcag001.utp new file mode 100644 index 0000000..e0d0433 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_animalcag001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_animalcag002.utp b/cep_blueprints/_hak/prc_add_sb/zep_animalcag002.utp new file mode 100644 index 0000000..2b466c8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_animalcag002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_animalcag003.utp b/cep_blueprints/_hak/prc_add_sb/zep_animalcag003.utp new file mode 100644 index 0000000..cfd1c50 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_animalcag003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_animchest.utc b/cep_blueprints/_hak/prc_add_sb/zep_animchest.utc new file mode 100644 index 0000000..8658f4e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_animchest.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_animchestf.utc b/cep_blueprints/_hak/prc_add_sb/zep_animchestf.utc new file mode 100644 index 0000000..6e17696 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_animchestf.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_animcutter.utc b/cep_blueprints/_hak/prc_add_sb/zep_animcutter.utc new file mode 100644 index 0000000..c52237f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_animcutter.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_animtable.utc b/cep_blueprints/_hak/prc_add_sb/zep_animtable.utc new file mode 100644 index 0000000..de74f39 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_animtable.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_animtome1.utc b/cep_blueprints/_hak/prc_add_sb/zep_animtome1.utc new file mode 100644 index 0000000..969900e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_animtome1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_animtome2.utc b/cep_blueprints/_hak/prc_add_sb/zep_animtome2.utc new file mode 100644 index 0000000..ec48610 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_animtome2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_animtome3.utc b/cep_blueprints/_hak/prc_add_sb/zep_animtome3.utc new file mode 100644 index 0000000..6f10a43 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_animtome3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_animtome4.utc b/cep_blueprints/_hak/prc_add_sb/zep_animtome4.utc new file mode 100644 index 0000000..6533618 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_animtome4.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_animtome5.utc b/cep_blueprints/_hak/prc_add_sb/zep_animtome5.utc new file mode 100644 index 0000000..37dac9c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_animtome5.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_animtome6.utc b/cep_blueprints/_hak/prc_add_sb/zep_animtome6.utc new file mode 100644 index 0000000..a43dc0a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_animtome6.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_animwheel.utc b/cep_blueprints/_hak/prc_add_sb/zep_animwheel.utc new file mode 100644 index 0000000..54ea519 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_animwheel.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ankh001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ankh001.utp new file mode 100644 index 0000000..504b28f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ankh001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ankh002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ankh002.utp new file mode 100644 index 0000000..3976d0b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ankh002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_annis.utc b/cep_blueprints/_hak/prc_add_sb/zep_annis.utc new file mode 100644 index 0000000..460ef7f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_annis.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_annis_prop.uti b/cep_blueprints/_hak/prc_add_sb/zep_annis_prop.uti new file mode 100644 index 0000000..ec731dc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_annis_prop.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_antelope.utc b/cep_blueprints/_hak/prc_add_sb/zep_antelope.utc new file mode 100644 index 0000000..fe842ea Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_antelope.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_antelopeb.utc b/cep_blueprints/_hak/prc_add_sb/zep_antelopeb.utc new file mode 100644 index 0000000..0d067d2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_antelopeb.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_aoskianh1.utc b/cep_blueprints/_hak/prc_add_sb/zep_aoskianh1.utc new file mode 100644 index 0000000..4b09a71 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_aoskianh1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_aoskianh2.utc b/cep_blueprints/_hak/prc_add_sb/zep_aoskianh2.utc new file mode 100644 index 0000000..468e62f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_aoskianh2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ape.utc b/cep_blueprints/_hak/prc_add_sb/zep_ape.utc new file mode 100644 index 0000000..8adac84 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ape.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_apple_dag.utp b/cep_blueprints/_hak/prc_add_sb/zep_apple_dag.utp new file mode 100644 index 0000000..5e684a0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_apple_dag.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_apple_dag001.utp b/cep_blueprints/_hak/prc_add_sb/zep_apple_dag001.utp new file mode 100644 index 0000000..94ed001 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_apple_dag001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_apple_dag002.utp b/cep_blueprints/_hak/prc_add_sb/zep_apple_dag002.utp new file mode 100644 index 0000000..d30ffe2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_apple_dag002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_apple_dag003.utp b/cep_blueprints/_hak/prc_add_sb/zep_apple_dag003.utp new file mode 100644 index 0000000..dcd57e3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_apple_dag003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arabian.uti b/cep_blueprints/_hak/prc_add_sb/zep_arabian.uti new file mode 100644 index 0000000..8d4495e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_arabian.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arbalest.utp b/cep_blueprints/_hak/prc_add_sb/zep_arbalest.utp new file mode 100644 index 0000000..389f635 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_arbalest.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arbaletatour.utp b/cep_blueprints/_hak/prc_add_sb/zep_arbaletatour.utp new file mode 100644 index 0000000..985a7fa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_arbaletatour.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arbor001.utp b/cep_blueprints/_hak/prc_add_sb/zep_arbor001.utp new file mode 100644 index 0000000..d4516ec Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_arbor001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arch001.utp b/cep_blueprints/_hak/prc_add_sb/zep_arch001.utp new file mode 100644 index 0000000..9ca83f6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_arch001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arch002.utp b/cep_blueprints/_hak/prc_add_sb/zep_arch002.utp new file mode 100644 index 0000000..9b66af4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_arch002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arch003.utp b/cep_blueprints/_hak/prc_add_sb/zep_arch003.utp new file mode 100644 index 0000000..22cea19 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_arch003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arch004.utp b/cep_blueprints/_hak/prc_add_sb/zep_arch004.utp new file mode 100644 index 0000000..d21875a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_arch004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arch005.utp b/cep_blueprints/_hak/prc_add_sb/zep_arch005.utp new file mode 100644 index 0000000..3d58f6e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_arch005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arcticbugb.utc b/cep_blueprints/_hak/prc_add_sb/zep_arcticbugb.utc new file mode 100644 index 0000000..beac4c9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_arcticbugb.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arcticbugbch.utc b/cep_blueprints/_hak/prc_add_sb/zep_arcticbugbch.utc new file mode 100644 index 0000000..67130a3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_arcticbugbch.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arcticbugbsh.utc b/cep_blueprints/_hak/prc_add_sb/zep_arcticbugbsh.utc new file mode 100644 index 0000000..33b0307 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_arcticbugbsh.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_aribeth.uti b/cep_blueprints/_hak/prc_add_sb/zep_aribeth.uti new file mode 100644 index 0000000..1fb9ae6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_aribeth.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arm_mwfp.uti b/cep_blueprints/_hak/prc_add_sb/zep_arm_mwfp.uti new file mode 100644 index 0000000..d8e1269 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_arm_mwfp.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arm_mwfp2.uti b/cep_blueprints/_hak/prc_add_sb/zep_arm_mwfp2.uti new file mode 100644 index 0000000..c18dfc1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_arm_mwfp2.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arm_mwfp4.uti b/cep_blueprints/_hak/prc_add_sb/zep_arm_mwfp4.uti new file mode 100644 index 0000000..30506e4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_arm_mwfp4.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arm_on_atta.ncs b/cep_blueprints/_hak/prc_add_sb/zep_arm_on_atta.ncs new file mode 100644 index 0000000..cbd4616 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_arm_on_atta.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arm_on_atta.nss b/cep_blueprints/_hak/prc_add_sb/zep_arm_on_atta.nss new file mode 100644 index 0000000..0b34dfe --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_arm_on_atta.nss @@ -0,0 +1,5 @@ +void main() +{ + object oPC = GetLastAttacker(); + SetStandardFactionReputation(STANDARD_FACTION_MERCHANT, 50, oPC); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arm_on_conv.ncs b/cep_blueprints/_hak/prc_add_sb/zep_arm_on_conv.ncs new file mode 100644 index 0000000..0090992 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_arm_on_conv.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arm_on_conv.nss b/cep_blueprints/_hak/prc_add_sb/zep_arm_on_conv.nss new file mode 100644 index 0000000..8528967 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_arm_on_conv.nss @@ -0,0 +1,7 @@ +void main() +{ + // don't face the speaker + float fFacing = GetFacing(OBJECT_SELF); + BeginConversation(); + SetFacing(fFacing); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arm_on_death.ncs b/cep_blueprints/_hak/prc_add_sb/zep_arm_on_death.ncs new file mode 100644 index 0000000..54c95c9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_arm_on_death.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arm_on_death.nss b/cep_blueprints/_hak/prc_add_sb/zep_arm_on_death.nss new file mode 100644 index 0000000..db724b2 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_arm_on_death.nss @@ -0,0 +1,9 @@ +void main() +{ + // Keep merchants and other armor stands from going hostile + object oPC = GetLastAttacker(); + SetStandardFactionReputation(STANDARD_FACTION_MERCHANT, 50, oPC); + + // Don't fade + SetIsDestroyable(FALSE,FALSE,TRUE); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arm_wep_bnch.ncs b/cep_blueprints/_hak/prc_add_sb/zep_arm_wep_bnch.ncs new file mode 100644 index 0000000..03fcb4b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_arm_wep_bnch.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_arm_wep_bnch.nss b/cep_blueprints/_hak/prc_add_sb/zep_arm_wep_bnch.nss new file mode 100644 index 0000000..1c13b51 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_arm_wep_bnch.nss @@ -0,0 +1,6 @@ +void main() +{ + // This animation is set to show the optional weapon display bench + // Use VICTORY2 if you want to hide the bench again + PlayAnimation(ANIMATION_FIREFORGET_VICTORY1, 1.0); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_armadillo.utc b/cep_blueprints/_hak/prc_add_sb/zep_armadillo.utc new file mode 100644 index 0000000..5cd506a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_armadillo.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_armandspoint.uti b/cep_blueprints/_hak/prc_add_sb/zep_armandspoint.uti new file mode 100644 index 0000000..24431aa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_armandspoint.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_armorstand.utc b/cep_blueprints/_hak/prc_add_sb/zep_armorstand.utc new file mode 100644 index 0000000..36a3761 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_armorstand.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_armorstandw.utc b/cep_blueprints/_hak/prc_add_sb/zep_armorstandw.utc new file mode 100644 index 0000000..388c8d2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_armorstandw.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_asmithy_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_asmithy_001.uti new file mode 100644 index 0000000..23edba8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_asmithy_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_assassindagg.uti b/cep_blueprints/_hak/prc_add_sb/zep_assassindagg.uti new file mode 100644 index 0000000..fb53c96 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_assassindagg.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_aurenthil.utc b/cep_blueprints/_hak/prc_add_sb/zep_aurenthil.utc new file mode 100644 index 0000000..2a0f093 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_aurenthil.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_azerfemale.utc b/cep_blueprints/_hak/prc_add_sb/zep_azerfemale.utc new file mode 100644 index 0000000..a32a475 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_azerfemale.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_azerhammer.uti b/cep_blueprints/_hak/prc_add_sb/zep_azerhammer.uti new file mode 100644 index 0000000..4ced562 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_azerhammer.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_azermale.utc b/cep_blueprints/_hak/prc_add_sb/zep_azermale.utc new file mode 100644 index 0000000..4f862f5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_azermale.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_azershield.uti b/cep_blueprints/_hak/prc_add_sb/zep_azershield.uti new file mode 100644 index 0000000..019e586 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_azershield.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_baatjamdo.uti b/cep_blueprints/_hak/prc_add_sb/zep_baatjamdo.uti new file mode 100644 index 0000000..da55d61 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_baatjamdo.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_babirusa.utc b/cep_blueprints/_hak/prc_add_sb/zep_babirusa.utc new file mode 100644 index 0000000..b975fba Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_babirusa.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_baby.utp b/cep_blueprints/_hak/prc_add_sb/zep_baby.utp new file mode 100644 index 0000000..9bfb03c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_baby.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_babyholdable.uti b/cep_blueprints/_hak/prc_add_sb/zep_babyholdable.uti new file mode 100644 index 0000000..3df8a99 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_babyholdable.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_babylnsprmen.utp b/cep_blueprints/_hak/prc_add_sb/zep_babylnsprmen.utp new file mode 100644 index 0000000..0ac9fc0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_babylnsprmen.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_babylondrgn.utp b/cep_blueprints/_hak/prc_add_sb/zep_babylondrgn.utp new file mode 100644 index 0000000..1a344cc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_babylondrgn.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_babylonlion.utp b/cep_blueprints/_hak/prc_add_sb/zep_babylonlion.utp new file mode 100644 index 0000000..3ae9207 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_babylonlion.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_babylonox.utp b/cep_blueprints/_hak/prc_add_sb/zep_babylonox.utp new file mode 100644 index 0000000..ccaed2b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_babylonox.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bacar.utc b/cep_blueprints/_hak/prc_add_sb/zep_bacar.utc new file mode 100644 index 0000000..9ddaad4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bacar.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ballclaw001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ballclaw001.utp new file mode 100644 index 0000000..b09622b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ballclaw001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ballclaw002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ballclaw002.utp new file mode 100644 index 0000000..2d9e70f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ballclaw002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ballclaw003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ballclaw003.utp new file mode 100644 index 0000000..21e820e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ballclaw003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ballclaw004.utp b/cep_blueprints/_hak/prc_add_sb/zep_ballclaw004.utp new file mode 100644 index 0000000..26462d0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ballclaw004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ballclaw005.utp b/cep_blueprints/_hak/prc_add_sb/zep_ballclaw005.utp new file mode 100644 index 0000000..03f8d4d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ballclaw005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ballclaw006.utp b/cep_blueprints/_hak/prc_add_sb/zep_ballclaw006.utp new file mode 100644 index 0000000..cc2c4fc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ballclaw006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ballclaw007.utp b/cep_blueprints/_hak/prc_add_sb/zep_ballclaw007.utp new file mode 100644 index 0000000..d9f5c95 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ballclaw007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ballclaw008.utp b/cep_blueprints/_hak/prc_add_sb/zep_ballclaw008.utp new file mode 100644 index 0000000..377219b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ballclaw008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_balor_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_balor_001.utc new file mode 100644 index 0000000..f7cfae3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_balor_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_balor_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_balor_002.utc new file mode 100644 index 0000000..c8ead44 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_balor_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_balor_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_balor_003.utc new file mode 100644 index 0000000..47be07c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_balor_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_balor_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_balor_004.utc new file mode 100644 index 0000000..49bd87a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_balor_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_balor_005.utc b/cep_blueprints/_hak/prc_add_sb/zep_balor_005.utc new file mode 100644 index 0000000..40c30ec Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_balor_005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_balor_006.utc b/cep_blueprints/_hak/prc_add_sb/zep_balor_006.utc new file mode 100644 index 0000000..69ea562 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_balor_006.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_balor_007.utc b/cep_blueprints/_hak/prc_add_sb/zep_balor_007.utc new file mode 100644 index 0000000..d0ad692 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_balor_007.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_balor_008.utc b/cep_blueprints/_hak/prc_add_sb/zep_balor_008.utc new file mode 100644 index 0000000..bbf178f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_balor_008.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_balor_009.utc b/cep_blueprints/_hak/prc_add_sb/zep_balor_009.utc new file mode 100644 index 0000000..488cc83 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_balor_009.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_balor_010.utc b/cep_blueprints/_hak/prc_add_sb/zep_balor_010.utc new file mode 100644 index 0000000..a9e6b71 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_balor_010.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_balor_011.utc b/cep_blueprints/_hak/prc_add_sb/zep_balor_011.utc new file mode 100644 index 0000000..54248d5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_balor_011.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_balrog.utc b/cep_blueprints/_hak/prc_add_sb/zep_balrog.utc new file mode 100644 index 0000000..fb1e59a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_balrog.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bamboo001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bamboo001.utp new file mode 100644 index 0000000..35ea949 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bamboo001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bamboo002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bamboo002.utp new file mode 100644 index 0000000..d4cf05c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bamboo002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bamboo003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bamboo003.utp new file mode 100644 index 0000000..1c2c9e1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bamboo003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bamboo004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bamboo004.utp new file mode 100644 index 0000000..53a1f88 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bamboo004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banncrs_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_banncrs_001.utp new file mode 100644 index 0000000..821b2a7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banncrs_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banndrg_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_banndrg_001.utp new file mode 100644 index 0000000..844b0e3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banndrg_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner001.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner001.utp new file mode 100644 index 0000000..934a383 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner002.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner002.utp new file mode 100644 index 0000000..4a4e1da Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner003.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner003.utp new file mode 100644 index 0000000..1391a55 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner004.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner004.utp new file mode 100644 index 0000000..3e96bb9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner005.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner005.utp new file mode 100644 index 0000000..2b51531 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner006.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner006.utp new file mode 100644 index 0000000..9a36f76 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner007.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner007.utp new file mode 100644 index 0000000..2f495f0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner008.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner008.utp new file mode 100644 index 0000000..cb6b933 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner009.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner009.utp new file mode 100644 index 0000000..0ff17f0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner010.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner010.utp new file mode 100644 index 0000000..4d74e03 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner011.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner011.utp new file mode 100644 index 0000000..7ee28a0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner012.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner012.utp new file mode 100644 index 0000000..892ea47 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner013.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner013.utp new file mode 100644 index 0000000..575330f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner014.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner014.utp new file mode 100644 index 0000000..6fc0764 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner015.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner015.utp new file mode 100644 index 0000000..6244c32 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner016.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner016.utp new file mode 100644 index 0000000..42d6c86 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner017.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner017.utp new file mode 100644 index 0000000..52a0928 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner018.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner018.utp new file mode 100644 index 0000000..a96ba3e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner018.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner019.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner019.utp new file mode 100644 index 0000000..8e4b0ef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner019.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner020.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner020.utp new file mode 100644 index 0000000..eeee786 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner020.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner021.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner021.utp new file mode 100644 index 0000000..ee148d6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner021.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner022.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner022.utp new file mode 100644 index 0000000..d1e1bb7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner022.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner023.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner023.utp new file mode 100644 index 0000000..2c7c4c9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner023.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner024.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner024.utp new file mode 100644 index 0000000..3c39bb5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner024.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner025.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner025.utp new file mode 100644 index 0000000..d85b951 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner025.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner026.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner026.utp new file mode 100644 index 0000000..31050df Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner026.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner027.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner027.utp new file mode 100644 index 0000000..f2a2bd6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner027.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner028.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner028.utp new file mode 100644 index 0000000..049caec Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner028.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner029.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner029.utp new file mode 100644 index 0000000..7b98a6f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner029.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner030.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner030.utp new file mode 100644 index 0000000..21efb9d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner030.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner031.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner031.utp new file mode 100644 index 0000000..791bf50 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner031.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_banner032.utp b/cep_blueprints/_hak/prc_add_sb/zep_banner032.utp new file mode 100644 index 0000000..a081fda Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_banner032.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bannshd_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bannshd_001.utp new file mode 100644 index 0000000..3817f70 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bannshd_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bannskl_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bannskl_001.utp new file mode 100644 index 0000000..1d4bcec Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bannskl_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bannsrd_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bannsrd_001.utp new file mode 100644 index 0000000..049a833 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bannsrd_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bar001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bar001.utp new file mode 100644 index 0000000..8c24caf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bar001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bar002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bar002.utp new file mode 100644 index 0000000..0e18992 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bar002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bar003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bar003.utp new file mode 100644 index 0000000..2a51645 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bar003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bar004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bar004.utp new file mode 100644 index 0000000..350e99c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bar004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bar005.utp b/cep_blueprints/_hak/prc_add_sb/zep_bar005.utp new file mode 100644 index 0000000..3498e3b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bar005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bar006.utp b/cep_blueprints/_hak/prc_add_sb/zep_bar006.utp new file mode 100644 index 0000000..5b8447e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bar006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bar007.utp b/cep_blueprints/_hak/prc_add_sb/zep_bar007.utp new file mode 100644 index 0000000..c608c6a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bar007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bar008.utp b/cep_blueprints/_hak/prc_add_sb/zep_bar008.utp new file mode 100644 index 0000000..570a201 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bar008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_barbarianfur.uti b/cep_blueprints/_hak/prc_add_sb/zep_barbarianfur.uti new file mode 100644 index 0000000..cb879db Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_barbarianfur.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_barghest.utc b/cep_blueprints/_hak/prc_add_sb/zep_barghest.utc new file mode 100644 index 0000000..63083cd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_barghest.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_barghest2.utc b/cep_blueprints/_hak/prc_add_sb/zep_barghest2.utc new file mode 100644 index 0000000..9ffd935 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_barghest2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_barghestg.utc b/cep_blueprints/_hak/prc_add_sb/zep_barghestg.utc new file mode 100644 index 0000000..8dc46c2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_barghestg.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_barghestg2.utc b/cep_blueprints/_hak/prc_add_sb/zep_barghestg2.utc new file mode 100644 index 0000000..1a8beca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_barghestg2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_barrel001.utp b/cep_blueprints/_hak/prc_add_sb/zep_barrel001.utp new file mode 100644 index 0000000..8b3d4e7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_barrel001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_barrel002.utp b/cep_blueprints/_hak/prc_add_sb/zep_barrel002.utp new file mode 100644 index 0000000..9191044 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_barrel002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_barrel003.utp b/cep_blueprints/_hak/prc_add_sb/zep_barrel003.utp new file mode 100644 index 0000000..09186b7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_barrel003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_barrel004.utp b/cep_blueprints/_hak/prc_add_sb/zep_barrel004.utp new file mode 100644 index 0000000..9715d55 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_barrel004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_barrel005.utp b/cep_blueprints/_hak/prc_add_sb/zep_barrel005.utp new file mode 100644 index 0000000..5b018f4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_barrel005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_barrel006.utp b/cep_blueprints/_hak/prc_add_sb/zep_barrel006.utp new file mode 100644 index 0000000..932bd22 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_barrel006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_barricade.utp b/cep_blueprints/_hak/prc_add_sb/zep_barricade.utp new file mode 100644 index 0000000..a654d53 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_barricade.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_barshelf001.utp b/cep_blueprints/_hak/prc_add_sb/zep_barshelf001.utp new file mode 100644 index 0000000..9995dab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_barshelf001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_barshelf002.utp b/cep_blueprints/_hak/prc_add_sb/zep_barshelf002.utp new file mode 100644 index 0000000..1d797ca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_barshelf002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_barshelf003.utp b/cep_blueprints/_hak/prc_add_sb/zep_barshelf003.utp new file mode 100644 index 0000000..173b937 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_barshelf003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_basket001.utp b/cep_blueprints/_hak/prc_add_sb/zep_basket001.utp new file mode 100644 index 0000000..9632b35 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_basket001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_basket002.utp b/cep_blueprints/_hak/prc_add_sb/zep_basket002.utp new file mode 100644 index 0000000..8a68a19 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_basket002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bastardsw.uti b/cep_blueprints/_hak/prc_add_sb/zep_bastardsw.uti new file mode 100644 index 0000000..d1690c5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bastardsw.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bat_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_bat_001.utc new file mode 100644 index 0000000..e908853 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bat_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bat_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_bat_002.utc new file mode 100644 index 0000000..5c2ed77 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bat_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bat_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_bat_003.utc new file mode 100644 index 0000000..5af889f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bat_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_batbattle.utc b/cep_blueprints/_hak/prc_add_sb/zep_batbattle.utc new file mode 100644 index 0000000..39de182 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_batbattle.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_batbone.utc b/cep_blueprints/_hak/prc_add_sb/zep_batbone.utc new file mode 100644 index 0000000..d75e540 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_batbone.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bbars001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bbars001.utp new file mode 100644 index 0000000..8647ed7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bbars001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bbars002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bbars002.utp new file mode 100644 index 0000000..c462fbe Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bbars002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bbars003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bbars003.utp new file mode 100644 index 0000000..b502516 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bbars003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bbook001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bbook001.utp new file mode 100644 index 0000000..3e99bd8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bbook001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bbook002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bbook002.utp new file mode 100644 index 0000000..f0858cb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bbook002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bbook003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bbook003.utp new file mode 100644 index 0000000..a3a464d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bbook003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bbook004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bbook004.utp new file mode 100644 index 0000000..f6562f8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bbook004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bchair001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bchair001.utp new file mode 100644 index 0000000..56bbba8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bchair001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bchair002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bchair002.utp new file mode 100644 index 0000000..58cbc42 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bchair002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bchair003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bchair003.utp new file mode 100644 index 0000000..8369b3d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bchair003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bchair004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bchair004.utp new file mode 100644 index 0000000..625bc91 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bchair004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bchair005.utp b/cep_blueprints/_hak/prc_add_sb/zep_bchair005.utp new file mode 100644 index 0000000..f249781 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bchair005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bchair006.utp b/cep_blueprints/_hak/prc_add_sb/zep_bchair006.utp new file mode 100644 index 0000000..18641e7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bchair006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bdoor001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bdoor001.utp new file mode 100644 index 0000000..5a2bd89 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bdoor001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bdoor002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bdoor002.utp new file mode 100644 index 0000000..f9c6a1a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bdoor002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bdresser001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bdresser001.utp new file mode 100644 index 0000000..467593b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bdresser001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bdresser002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bdresser002.utp new file mode 100644 index 0000000..7c70e7d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bdresser002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bdresser003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bdresser003.utp new file mode 100644 index 0000000..14a283f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bdresser003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_be_belf_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_be_belf_001.utp new file mode 100644 index 0000000..d0b30b0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_be_belf_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beans001.utp b/cep_blueprints/_hak/prc_add_sb/zep_beans001.utp new file mode 100644 index 0000000..3af696c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beans001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beans002.utp b/cep_blueprints/_hak/prc_add_sb/zep_beans002.utp new file mode 100644 index 0000000..14cef87 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beans002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beans003.utp b/cep_blueprints/_hak/prc_add_sb/zep_beans003.utp new file mode 100644 index 0000000..9b043e1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beans003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beans004.utp b/cep_blueprints/_hak/prc_add_sb/zep_beans004.utp new file mode 100644 index 0000000..6c4f114 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beans004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bearpanda.utc b/cep_blueprints/_hak/prc_add_sb/zep_bearpanda.utc new file mode 100644 index 0000000..2b1f07e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bearpanda.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bearsloth.utc b/cep_blueprints/_hak/prc_add_sb/zep_bearsloth.utc new file mode 100644 index 0000000..5250b66 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bearsloth.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bearspec.utc b/cep_blueprints/_hak/prc_add_sb/zep_bearspec.utc new file mode 100644 index 0000000..182e03a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bearspec.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bearsun.utc b/cep_blueprints/_hak/prc_add_sb/zep_bearsun.utc new file mode 100644 index 0000000..26b7156 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bearsun.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bebilithb.utc b/cep_blueprints/_hak/prc_add_sb/zep_bebilithb.utc new file mode 100644 index 0000000..e876b97 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bebilithb.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bebilithc.utc b/cep_blueprints/_hak/prc_add_sb/zep_bebilithc.utc new file mode 100644 index 0000000..7edc802 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bebilithc.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bed002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bed002.utp new file mode 100644 index 0000000..a28d35e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bed002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bed006.utp b/cep_blueprints/_hak/prc_add_sb/zep_bed006.utp new file mode 100644 index 0000000..8334db5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bed006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bed007.utp b/cep_blueprints/_hak/prc_add_sb/zep_bed007.utp new file mode 100644 index 0000000..8dbeb2b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bed007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bed01.utp b/cep_blueprints/_hak/prc_add_sb/zep_bed01.utp new file mode 100644 index 0000000..b5321cd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bed01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bed02.utp b/cep_blueprints/_hak/prc_add_sb/zep_bed02.utp new file mode 100644 index 0000000..1d64f08 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bed02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bed03.utp b/cep_blueprints/_hak/prc_add_sb/zep_bed03.utp new file mode 100644 index 0000000..80565b0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bed03.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bed04.utp b/cep_blueprints/_hak/prc_add_sb/zep_bed04.utp new file mode 100644 index 0000000..cdf127b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bed04.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bedrolls001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bedrolls001.utp new file mode 100644 index 0000000..d047bba Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bedrolls001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bedrolls002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bedrolls002.utp new file mode 100644 index 0000000..9bf75b8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bedrolls002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bedrolls003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bedrolls003.utp new file mode 100644 index 0000000..61bed61 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bedrolls003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bedrolls004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bedrolls004.utp new file mode 100644 index 0000000..c33cc8b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bedrolls004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bedrolls005.utp b/cep_blueprints/_hak/prc_add_sb/zep_bedrolls005.utp new file mode 100644 index 0000000..54a2646 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bedrolls005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bedrolls006.utp b/cep_blueprints/_hak/prc_add_sb/zep_bedrolls006.utp new file mode 100644 index 0000000..cc14595 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bedrolls006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bedrolls007.utp b/cep_blueprints/_hak/prc_add_sb/zep_bedrolls007.utp new file mode 100644 index 0000000..90ac7a4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bedrolls007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bedrolls008.utp b/cep_blueprints/_hak/prc_add_sb/zep_bedrolls008.utp new file mode 100644 index 0000000..50daa25 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bedrolls008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beetlebomb.utc b/cep_blueprints/_hak/prc_add_sb/zep_beetlebomb.utc new file mode 100644 index 0000000..e690f95 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beetlebomb.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beetlefiref.utc b/cep_blueprints/_hak/prc_add_sb/zep_beetlefiref.utc new file mode 100644 index 0000000..8f2d79d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beetlefiref.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beetlefireh.utc b/cep_blueprints/_hak/prc_add_sb/zep_beetlefireh.utc new file mode 100644 index 0000000..9e00da2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beetlefireh.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beetlefiret.utc b/cep_blueprints/_hak/prc_add_sb/zep_beetlefiret.utc new file mode 100644 index 0000000..3aac046 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beetlefiret.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beetleslicf.utc b/cep_blueprints/_hak/prc_add_sb/zep_beetleslicf.utc new file mode 100644 index 0000000..ba2248d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beetleslicf.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beetleslich.utc b/cep_blueprints/_hak/prc_add_sb/zep_beetleslich.utc new file mode 100644 index 0000000..b64ded1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beetleslich.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beetleslict.utc b/cep_blueprints/_hak/prc_add_sb/zep_beetleslict.utc new file mode 100644 index 0000000..edec375 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beetleslict.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beetlespitf.utc b/cep_blueprints/_hak/prc_add_sb/zep_beetlespitf.utc new file mode 100644 index 0000000..4c5d9b7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beetlespitf.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beetlespith.utc b/cep_blueprints/_hak/prc_add_sb/zep_beetlespith.utc new file mode 100644 index 0000000..bae405d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beetlespith.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beetlespitt.utc b/cep_blueprints/_hak/prc_add_sb/zep_beetlespitt.utc new file mode 100644 index 0000000..b609f2a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beetlespitt.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beetlestagf.utc b/cep_blueprints/_hak/prc_add_sb/zep_beetlestagf.utc new file mode 100644 index 0000000..5bcce1b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beetlestagf.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beetlestagh.utc b/cep_blueprints/_hak/prc_add_sb/zep_beetlestagh.utc new file mode 100644 index 0000000..98248f3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beetlestagh.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beetlestagt.utc b/cep_blueprints/_hak/prc_add_sb/zep_beetlestagt.utc new file mode 100644 index 0000000..d1a7c2c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beetlestagt.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beetlestnkf.utc b/cep_blueprints/_hak/prc_add_sb/zep_beetlestnkf.utc new file mode 100644 index 0000000..c77fb99 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beetlestnkf.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beetlestnkh.utc b/cep_blueprints/_hak/prc_add_sb/zep_beetlestnkh.utc new file mode 100644 index 0000000..2aaacab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beetlestnkh.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beetlestnkt.utc b/cep_blueprints/_hak/prc_add_sb/zep_beetlestnkt.utc new file mode 100644 index 0000000..029b7bc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beetlestnkt.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beholder.utc b/cep_blueprints/_hak/prc_add_sb/zep_beholder.utc new file mode 100644 index 0000000..5a0f875 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beholder.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_beholder_dt.utc b/cep_blueprints/_hak/prc_add_sb/zep_beholder_dt.utc new file mode 100644 index 0000000..637e56d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_beholder_dt.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_belfry.utp b/cep_blueprints/_hak/prc_add_sb/zep_belfry.utp new file mode 100644 index 0000000..8f72484 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_belfry.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_belier.utp b/cep_blueprints/_hak/prc_add_sb/zep_belier.utp new file mode 100644 index 0000000..3cadeae Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_belier.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_belker.utc b/cep_blueprints/_hak/prc_add_sb/zep_belker.utc new file mode 100644 index 0000000..1a37562 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_belker.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bench001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bench001.utp new file mode 100644 index 0000000..ba4f37b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bench001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bench002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bench002.utp new file mode 100644 index 0000000..e3b7b18 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bench002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bento001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bento001.utp new file mode 100644 index 0000000..0e87a77 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bento001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bento002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bento002.utp new file mode 100644 index 0000000..4511fe6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bento002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bento003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bento003.utp new file mode 100644 index 0000000..edb39f6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bento003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bento004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bento004.utp new file mode 100644 index 0000000..dc2e723 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bento004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_aarr_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_aarr_001.utp new file mode 100644 index 0000000..e5c0fdf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_aarr_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_aarr_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_aarr_002.utp new file mode 100644 index 0000000..ed790d3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_aarr_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_aarr_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_aarr_003.utp new file mode 100644 index 0000000..ea8871b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_aarr_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_001.utp new file mode 100644 index 0000000..4241913 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_002.utp new file mode 100644 index 0000000..25b6595 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_003.utp new file mode 100644 index 0000000..87e27f2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_004.utp new file mode 100644 index 0000000..bea3dec Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_005.utp new file mode 100644 index 0000000..6ae6752 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_006.utp new file mode 100644 index 0000000..ef9e40a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_007.utp new file mode 100644 index 0000000..04f3b3d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_008.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_008.utp new file mode 100644 index 0000000..9c62392 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_abax_008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_abol_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_abol_001.utp new file mode 100644 index 0000000..2bfeb8b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_abol_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_abol_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_abol_002.utp new file mode 100644 index 0000000..edec328 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_abol_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_abol_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_abol_003.utp new file mode 100644 index 0000000..4d36ea7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_abol_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_001.utp new file mode 100644 index 0000000..e435398 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_002.utp new file mode 100644 index 0000000..a2ae302 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_003.utp new file mode 100644 index 0000000..2a42333 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_004.utp new file mode 100644 index 0000000..3135c52 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_005.utp new file mode 100644 index 0000000..e85b04a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_006.utp new file mode 100644 index 0000000..8e84863 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_007.utp new file mode 100644 index 0000000..7f98b4f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_008.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_008.utp new file mode 100644 index 0000000..5cd0bb5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_adag_008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_001.utp new file mode 100644 index 0000000..fa20542 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_002.utp new file mode 100644 index 0000000..f2f392e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_003.utp new file mode 100644 index 0000000..18e2397 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_004.utp new file mode 100644 index 0000000..1b6a88f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_005.utp new file mode 100644 index 0000000..9ede682 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_006.utp new file mode 100644 index 0000000..76f53d8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_007.utp new file mode 100644 index 0000000..09e153c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_afl_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_agax_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_agax_001.utp new file mode 100644 index 0000000..2070661 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_agax_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_agax_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_agax_002.utp new file mode 100644 index 0000000..76bd67c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_agax_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_agax_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_agax_003.utp new file mode 100644 index 0000000..28169ed Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_agax_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_agax_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_agax_004.utp new file mode 100644 index 0000000..c6e7784 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_agax_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_agax_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_agax_005.utp new file mode 100644 index 0000000..73324d8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_agax_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_agax_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_agax_006.utp new file mode 100644 index 0000000..138068e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_agax_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_ahal_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_ahal_001.utp new file mode 100644 index 0000000..8c6e301 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_ahal_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_ahal_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_ahal_002.utp new file mode 100644 index 0000000..120c363 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_ahal_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_aham_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_aham_001.utp new file mode 100644 index 0000000..39ba4ab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_aham_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_aham_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_aham_002.utp new file mode 100644 index 0000000..f2e0354 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_aham_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_aham_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_aham_003.utp new file mode 100644 index 0000000..dedf4bc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_aham_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_aham_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_aham_004.utp new file mode 100644 index 0000000..add2ee5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_aham_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_ahel_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_ahel_001.utp new file mode 100644 index 0000000..1dd566d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_ahel_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_ahel_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_ahel_002.utp new file mode 100644 index 0000000..b944e37 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_ahel_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_ahel_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_ahel_003.utp new file mode 100644 index 0000000..7956e8c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_ahel_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_ahel_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_ahel_004.utp new file mode 100644 index 0000000..68e4258 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_ahel_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_ahel_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_ahel_005.utp new file mode 100644 index 0000000..91322bc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_ahel_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_ahel_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_ahel_006.utp new file mode 100644 index 0000000..5ba2596 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_ahel_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_albw_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_albw_001.utp new file mode 100644 index 0000000..2729c37 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_albw_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_alsw_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_alsw_001.utp new file mode 100644 index 0000000..f3bff70 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_alsw_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_alsw_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_alsw_002.utp new file mode 100644 index 0000000..ca97c7b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_alsw_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_alsw_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_alsw_003.utp new file mode 100644 index 0000000..f7bb119 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_alsw_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_alsw_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_alsw_004.utp new file mode 100644 index 0000000..5aa0725 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_alsw_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_alsw_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_alsw_005.utp new file mode 100644 index 0000000..4397925 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_alsw_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_amce_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_amce_001.utp new file mode 100644 index 0000000..df41f1f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_amce_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_amce_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_amce_002.utp new file mode 100644 index 0000000..bf30af6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_amce_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_amce_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_amce_003.utp new file mode 100644 index 0000000..d209ce3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_amce_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_amce_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_amce_004.utp new file mode 100644 index 0000000..c194d38 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_amce_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_amce_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_amce_005.utp new file mode 100644 index 0000000..639d7bc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_amce_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_arap_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_arap_001.utp new file mode 100644 index 0000000..e985299 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_arap_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_arap_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_arap_002.utp new file mode 100644 index 0000000..f4ac330 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_arap_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_arap_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_arap_003.utp new file mode 100644 index 0000000..67c7072 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_arap_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_arap_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_arap_004.utp new file mode 100644 index 0000000..4e40a3d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_arap_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_arr_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_arr_001.utp new file mode 100644 index 0000000..eb3d420 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_arr_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_arr_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_arr_002.utp new file mode 100644 index 0000000..6fd8656 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_arr_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_arr_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_arr_003.utp new file mode 100644 index 0000000..fdb31a4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_arr_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_asbw_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_asbw_001.utp new file mode 100644 index 0000000..e25f50c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_asbw_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_aspr_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_aspr_001.utp new file mode 100644 index 0000000..abf99bc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_aspr_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_aspr_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_aspr_002.utp new file mode 100644 index 0000000..1a753dd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_aspr_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_aspr_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_aspr_003.utp new file mode 100644 index 0000000..b1c7dfa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_aspr_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_aspr_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_aspr_004.utp new file mode 100644 index 0000000..5deac87 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_aspr_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_001.utp new file mode 100644 index 0000000..e74e80f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_002.utp new file mode 100644 index 0000000..8d4ce8e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_003.utp new file mode 100644 index 0000000..56c8799 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_004.utp new file mode 100644 index 0000000..643a37c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_005.utp new file mode 100644 index 0000000..d8cf409 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_006.utp new file mode 100644 index 0000000..5ed87c1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_007.utp new file mode 100644 index 0000000..b6e7764 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_008.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_008.utp new file mode 100644 index 0000000..7a37e9d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_assw_008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_axbw_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_axbw_001.utp new file mode 100644 index 0000000..46f9b8c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_axbw_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_axbw_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_axbw_002.utp new file mode 100644 index 0000000..90eeba4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_axbw_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_bax_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_bax_001.utp new file mode 100644 index 0000000..00b7884 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_bax_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_bax_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_bax_002.utp new file mode 100644 index 0000000..f7e1713 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_bax_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_bax_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_bax_003.utp new file mode 100644 index 0000000..a4ad9ca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_bax_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_bolt_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_bolt_001.utp new file mode 100644 index 0000000..6f32579 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_bolt_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_bolt_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_bolt_002.utp new file mode 100644 index 0000000..b53be52 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_bolt_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_bolt_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_bolt_003.utp new file mode 100644 index 0000000..785a103 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_bolt_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_001.utp new file mode 100644 index 0000000..aec5b95 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_002.utp new file mode 100644 index 0000000..62829b0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_003.utp new file mode 100644 index 0000000..af9036b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_004.utp new file mode 100644 index 0000000..532b287 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_005.utp new file mode 100644 index 0000000..97eed4d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_006.utp new file mode 100644 index 0000000..11e7071 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_007.utp new file mode 100644 index 0000000..610fb58 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_008.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_008.utp new file mode 100644 index 0000000..c584218 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_dagg_008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_lswd_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_lswd_001.utp new file mode 100644 index 0000000..d24ea26 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_lswd_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_lswd_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_lswd_002.utp new file mode 100644 index 0000000..c9e59a2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_lswd_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_lswd_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_lswd_003.utp new file mode 100644 index 0000000..f85619e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_lswd_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_lswd_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_lswd_004.utp new file mode 100644 index 0000000..f142d1a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_lswd_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_mark_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_mark_001.utp new file mode 100644 index 0000000..e8ce7a0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_mark_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_mark_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_mark_002.utp new file mode 100644 index 0000000..d4d242e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_mark_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_mark_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_mark_003.utp new file mode 100644 index 0000000..d94bbb3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_mark_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_rap_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_rap_001.utp new file mode 100644 index 0000000..a153246 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_rap_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_rap_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_rap_002.utp new file mode 100644 index 0000000..24f1e3d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_rap_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_rap_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_rap_003.utp new file mode 100644 index 0000000..9397274 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_rap_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_rap_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_rap_004.utp new file mode 100644 index 0000000..0eba77e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_rap_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_spr_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_spr_001.utp new file mode 100644 index 0000000..f58320e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_spr_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_spr_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_spr_002.utp new file mode 100644 index 0000000..1db6896 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_spr_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_spr_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_spr_003.utp new file mode 100644 index 0000000..b167f98 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_spr_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bf_spr_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bf_spr_004.utp new file mode 100644 index 0000000..ba6d203 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bf_spr_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bflame001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bflame001.utp new file mode 100644 index 0000000..d6634a3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bflame001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bflame002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bflame002.utp new file mode 100644 index 0000000..a460cd2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bflame002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bflame003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bflame003.utp new file mode 100644 index 0000000..a78089b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bflame003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_001.utc new file mode 100644 index 0000000..9df14f2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_002.utc new file mode 100644 index 0000000..34710ea Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_003.utc new file mode 100644 index 0000000..8601041 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_004.utc new file mode 100644 index 0000000..cd3e41d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_005.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_005.utc new file mode 100644 index 0000000..db72c6c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_006.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_006.utc new file mode 100644 index 0000000..23b1742 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_006.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_007.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_007.utc new file mode 100644 index 0000000..183dd75 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_007.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_008.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_008.utc new file mode 100644 index 0000000..6d42174 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_008.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_009.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_009.utc new file mode 100644 index 0000000..01b4d35 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_009.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_010.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_010.utc new file mode 100644 index 0000000..636b982 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_010.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_011.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_011.utc new file mode 100644 index 0000000..0fc8a70 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_011.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_012.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_012.utc new file mode 100644 index 0000000..e5d194a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_012.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_013.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_013.utc new file mode 100644 index 0000000..c7fc96d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_013.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_014.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_014.utc new file mode 100644 index 0000000..8a9df97 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_014.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_015.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_015.utc new file mode 100644 index 0000000..703d2b5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_015.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_016.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_016.utc new file mode 100644 index 0000000..35df349 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_016.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_017.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_017.utc new file mode 100644 index 0000000..797c95b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_017.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_018.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_018.utc new file mode 100644 index 0000000..42f0239 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_018.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_019.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_019.utc new file mode 100644 index 0000000..3a76076 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_019.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_020.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_020.utc new file mode 100644 index 0000000..bdd4256 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_020.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_021.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_021.utc new file mode 100644 index 0000000..e019581 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_021.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_022.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_022.utc new file mode 100644 index 0000000..6cb33b3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_022.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_023.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_023.utc new file mode 100644 index 0000000..d3235f0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_023.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_024.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_024.utc new file mode 100644 index 0000000..3b96550 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_024.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_025.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_025.utc new file mode 100644 index 0000000..0b08711 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_025.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_026.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_026.utc new file mode 100644 index 0000000..7f2693b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_026.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_027.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_027.utc new file mode 100644 index 0000000..24fed54 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_027.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_028.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_028.utc new file mode 100644 index 0000000..bdb28b7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_028.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_029.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_029.utc new file mode 100644 index 0000000..ca4acd9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_029.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_030.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_030.utc new file mode 100644 index 0000000..298bec8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_030.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_031.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_031.utc new file mode 100644 index 0000000..149f56a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_031.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_032.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_032.utc new file mode 100644 index 0000000..3fd52a1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_032.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bird_033.utc b/cep_blueprints/_hak/prc_add_sb/zep_bird_033.utc new file mode 100644 index 0000000..7c1f8fc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bird_033.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bison.utc b/cep_blueprints/_hak/prc_add_sb/zep_bison.utc new file mode 100644 index 0000000..323164d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bison.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bisona.utc b/cep_blueprints/_hak/prc_add_sb/zep_bisona.utc new file mode 100644 index 0000000..69f38b2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bisona.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_blackpuddl.utc b/cep_blueprints/_hak/prc_add_sb/zep_blackpuddl.utc new file mode 100644 index 0000000..986793b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_blackpuddl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_blackpuddm.utc b/cep_blueprints/_hak/prc_add_sb/zep_blackpuddm.utc new file mode 100644 index 0000000..9654c90 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_blackpuddm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_blackpudds.utc b/cep_blueprints/_hak/prc_add_sb/zep_blackpudds.utc new file mode 100644 index 0000000..d06f809 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_blackpudds.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_blackrosef.utc b/cep_blueprints/_hak/prc_add_sb/zep_blackrosef.utc new file mode 100644 index 0000000..34fd4e1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_blackrosef.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_blackrosem.utc b/cep_blueprints/_hak/prc_add_sb/zep_blackrosem.utc new file mode 100644 index 0000000..ee9c1a9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_blackrosem.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bladeling.utc b/cep_blueprints/_hak/prc_add_sb/zep_bladeling.utc new file mode 100644 index 0000000..4832ccb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bladeling.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bleice.utc b/cep_blueprints/_hak/prc_add_sb/zep_bleice.utc new file mode 100644 index 0000000..87aa1bd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bleice.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_blood_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_blood_002.utp new file mode 100644 index 0000000..821c777 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_blood_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_blood_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_blood_003.utp new file mode 100644 index 0000000..12be733 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_blood_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_blood_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_blood_004.utp new file mode 100644 index 0000000..f853789 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_blood_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_blood_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_blood_005.utp new file mode 100644 index 0000000..a29a9d4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_blood_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_blood_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_blood_006.utp new file mode 100644 index 0000000..5a2a2d1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_blood_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_blood_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_blood_007.utp new file mode 100644 index 0000000..5e03463 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_blood_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_blood_1.utp b/cep_blueprints/_hak/prc_add_sb/zep_blood_1.utp new file mode 100644 index 0000000..397d16b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_blood_1.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodaxe.uti b/cep_blueprints/_hak/prc_add_sb/zep_bloodaxe.uti new file mode 100644 index 0000000..5746b30 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodaxe.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodpool001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodpool001.utp new file mode 100644 index 0000000..9841045 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodpool001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodstain1.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodstain1.utp new file mode 100644 index 0000000..9629508 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodstain1.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodstain2.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodstain2.utp new file mode 100644 index 0000000..b440275 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodstain2.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodstain3.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodstain3.utp new file mode 100644 index 0000000..817f916 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodstain3.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodstain4.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodstain4.utp new file mode 100644 index 0000000..35eec92 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodstain4.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodstain5.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodstain5.utp new file mode 100644 index 0000000..7f5bd62 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodstain5.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodstain6.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodstain6.utp new file mode 100644 index 0000000..5f2f403 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodstain6.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodstain7.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodstain7.utp new file mode 100644 index 0000000..5fbb0ab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodstain7.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodtrail1.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodtrail1.utp new file mode 100644 index 0000000..e53ba73 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodtrail1.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodtrail2.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodtrail2.utp new file mode 100644 index 0000000..b7ba8d8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodtrail2.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodtrail3.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodtrail3.utp new file mode 100644 index 0000000..f0f55e4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodtrail3.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodtrail4.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodtrail4.utp new file mode 100644 index 0000000..e0a7318 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodtrail4.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodwall1.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall1.utp new file mode 100644 index 0000000..31738bd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall1.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodwall10.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall10.utp new file mode 100644 index 0000000..a44eb48 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall10.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodwall2.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall2.utp new file mode 100644 index 0000000..a36a1b7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall2.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodwall3.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall3.utp new file mode 100644 index 0000000..7fc057b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall3.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodwall4.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall4.utp new file mode 100644 index 0000000..f93ccaf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall4.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodwall5.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall5.utp new file mode 100644 index 0000000..c8420db Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall5.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodwall6.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall6.utp new file mode 100644 index 0000000..3e43e66 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall6.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodwall7.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall7.utp new file mode 100644 index 0000000..653a4c8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall7.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodwall8.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall8.utp new file mode 100644 index 0000000..6a2ffee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall8.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bloodwall9.utp b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall9.utp new file mode 100644 index 0000000..cd0343c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bloodwall9.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_blssmtree001.utp b/cep_blueprints/_hak/prc_add_sb/zep_blssmtree001.utp new file mode 100644 index 0000000..915b523 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_blssmtree001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_blssmtree002.utp b/cep_blueprints/_hak/prc_add_sb/zep_blssmtree002.utp new file mode 100644 index 0000000..5f003cb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_blssmtree002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_blssmtree003.utp b/cep_blueprints/_hak/prc_add_sb/zep_blssmtree003.utp new file mode 100644 index 0000000..4c0f978 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_blssmtree003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_boatflipped.utp b/cep_blueprints/_hak/prc_add_sb/zep_boatflipped.utp new file mode 100644 index 0000000..c7bfe44 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_boatflipped.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bokken.uti b/cep_blueprints/_hak/prc_add_sb/zep_bokken.uti new file mode 100644 index 0000000..2f12d26 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bokken.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_book.uti b/cep_blueprints/_hak/prc_add_sb/zep_book.uti new file mode 100644 index 0000000..961500a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_book.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_book001.utp b/cep_blueprints/_hak/prc_add_sb/zep_book001.utp new file mode 100644 index 0000000..8f99c5f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_book001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_book002.utp b/cep_blueprints/_hak/prc_add_sb/zep_book002.utp new file mode 100644 index 0000000..a52775b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_book002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_book003.utp b/cep_blueprints/_hak/prc_add_sb/zep_book003.utp new file mode 100644 index 0000000..ea9261d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_book003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bookshelf003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bookshelf003.utp new file mode 100644 index 0000000..fc21e55 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bookshelf003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bookshelf004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bookshelf004.utp new file mode 100644 index 0000000..0814456 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bookshelf004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bookshelf005.utp b/cep_blueprints/_hak/prc_add_sb/zep_bookshelf005.utp new file mode 100644 index 0000000..759b2d9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bookshelf005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bore.utp b/cep_blueprints/_hak/prc_add_sb/zep_bore.utp new file mode 100644 index 0000000..29eac50 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bore.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bottle.utp b/cep_blueprints/_hak/prc_add_sb/zep_bottle.utp new file mode 100644 index 0000000..1bc4691 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bottle.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bottle001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bottle001.utp new file mode 100644 index 0000000..da9b05e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bottle001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bottle002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bottle002.utp new file mode 100644 index 0000000..334a07b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bottle002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bottle003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bottle003.utp new file mode 100644 index 0000000..7be1cde Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bottle003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bottle004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bottle004.utp new file mode 100644 index 0000000..5119828 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bottle004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_boulder001.utp b/cep_blueprints/_hak/prc_add_sb/zep_boulder001.utp new file mode 100644 index 0000000..0d7883f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_boulder001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_boulder002.utp b/cep_blueprints/_hak/prc_add_sb/zep_boulder002.utp new file mode 100644 index 0000000..205a619 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_boulder002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_boulder003.utp b/cep_blueprints/_hak/prc_add_sb/zep_boulder003.utp new file mode 100644 index 0000000..4129c56 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_boulder003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bowballista.utp b/cep_blueprints/_hak/prc_add_sb/zep_bowballista.utp new file mode 100644 index 0000000..0ad857a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bowballista.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bowl.utp b/cep_blueprints/_hak/prc_add_sb/zep_bowl.utp new file mode 100644 index 0000000..94c8c24 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bowl.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bowl001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bowl001.utp new file mode 100644 index 0000000..e468dc7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bowl001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bowl002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bowl002.utp new file mode 100644 index 0000000..164001b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bowl002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bowl003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bowl003.utp new file mode 100644 index 0000000..df13708 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bowl003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bowl004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bowl004.utp new file mode 100644 index 0000000..81e1fb4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bowl004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bpillar001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bpillar001.utp new file mode 100644 index 0000000..afb02e1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bpillar001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bpillar002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bpillar002.utp new file mode 100644 index 0000000..421c36d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bpillar002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bpillar003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bpillar003.utp new file mode 100644 index 0000000..05eead0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bpillar003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bpillar004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bpillar004.utp new file mode 100644 index 0000000..42aac8d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bpillar004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bpillar005.utp b/cep_blueprints/_hak/prc_add_sb/zep_bpillar005.utp new file mode 100644 index 0000000..944314e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bpillar005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bpillar006.utp b/cep_blueprints/_hak/prc_add_sb/zep_bpillar006.utp new file mode 100644 index 0000000..b69c2ea Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bpillar006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bpillar007.utp b/cep_blueprints/_hak/prc_add_sb/zep_bpillar007.utp new file mode 100644 index 0000000..3248c3e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bpillar007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bpillar008.utp b/cep_blueprints/_hak/prc_add_sb/zep_bpillar008.utp new file mode 100644 index 0000000..b79199a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bpillar008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bpillar009.utp b/cep_blueprints/_hak/prc_add_sb/zep_bpillar009.utp new file mode 100644 index 0000000..5eea9c0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bpillar009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bpillar010.utp b/cep_blueprints/_hak/prc_add_sb/zep_bpillar010.utp new file mode 100644 index 0000000..ea56903 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bpillar010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bpillar011.utp b/cep_blueprints/_hak/prc_add_sb/zep_bpillar011.utp new file mode 100644 index 0000000..fb1ec2e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bpillar011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bpillar012.utp b/cep_blueprints/_hak/prc_add_sb/zep_bpillar012.utp new file mode 100644 index 0000000..0802182 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bpillar012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bpillar013.utp b/cep_blueprints/_hak/prc_add_sb/zep_bpillar013.utp new file mode 100644 index 0000000..670ff9b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bpillar013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bpillar014.utp b/cep_blueprints/_hak/prc_add_sb/zep_bpillar014.utp new file mode 100644 index 0000000..9ebbce8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bpillar014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bplate001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bplate001.utp new file mode 100644 index 0000000..cde83f8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bplate001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bplate002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bplate002.utp new file mode 100644 index 0000000..37c35ec Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bplate002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bplate003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bplate003.utp new file mode 100644 index 0000000..179d07a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bplate003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bplate004.utp b/cep_blueprints/_hak/prc_add_sb/zep_bplate004.utp new file mode 100644 index 0000000..fcfd067 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bplate004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_brazier001.utp b/cep_blueprints/_hak/prc_add_sb/zep_brazier001.utp new file mode 100644 index 0000000..d46e4ae Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_brazier001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_brazier004.utp b/cep_blueprints/_hak/prc_add_sb/zep_brazier004.utp new file mode 100644 index 0000000..32f9976 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_brazier004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_brazier006.utp b/cep_blueprints/_hak/prc_add_sb/zep_brazier006.utp new file mode 100644 index 0000000..cd34875 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_brazier006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_brazier007.utp b/cep_blueprints/_hak/prc_add_sb/zep_brazier007.utp new file mode 100644 index 0000000..db4c585 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_brazier007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_brazier009.utp b/cep_blueprints/_hak/prc_add_sb/zep_brazier009.utp new file mode 100644 index 0000000..df6f6ef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_brazier009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bread.utp b/cep_blueprints/_hak/prc_add_sb/zep_bread.utp new file mode 100644 index 0000000..58f250e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bread.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bread002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bread002.utp new file mode 100644 index 0000000..654e169 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bread002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bricks001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bricks001.utp new file mode 100644 index 0000000..72c8b9e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bricks001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bricks002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bricks002.utp new file mode 100644 index 0000000..a4e46f9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bricks002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bricks003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bricks003.utp new file mode 100644 index 0000000..f3ecc4e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bricks003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bricole.utp b/cep_blueprints/_hak/prc_add_sb/zep_bricole.utp new file mode 100644 index 0000000..8859163 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bricole.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_brokendagg.uti b/cep_blueprints/_hak/prc_add_sb/zep_brokendagg.uti new file mode 100644 index 0000000..6f75eee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_brokendagg.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_brokengreats.uti b/cep_blueprints/_hak/prc_add_sb/zep_brokengreats.uti new file mode 100644 index 0000000..de36a7a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_brokengreats.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_brokenlongs.uti b/cep_blueprints/_hak/prc_add_sb/zep_brokenlongs.uti new file mode 100644 index 0000000..0d6b2fc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_brokenlongs.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_brokenshorts.uti b/cep_blueprints/_hak/prc_add_sb/zep_brokenshorts.uti new file mode 100644 index 0000000..5182f49 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_brokenshorts.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_broom.utp b/cep_blueprints/_hak/prc_add_sb/zep_broom.utp new file mode 100644 index 0000000..1f588b4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_broom.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_brownie.utc b/cep_blueprints/_hak/prc_add_sb/zep_brownie.utc new file mode 100644 index 0000000..8039b55 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_brownie.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_brownieoutf.uti b/cep_blueprints/_hak/prc_add_sb/zep_brownieoutf.uti new file mode 100644 index 0000000..d3070e1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_brownieoutf.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_browniesword.uti b/cep_blueprints/_hak/prc_add_sb/zep_browniesword.uti new file mode 100644 index 0000000..85f6169 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_browniesword.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_brownpuddl.utc b/cep_blueprints/_hak/prc_add_sb/zep_brownpuddl.utc new file mode 100644 index 0000000..c6a3f8b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_brownpuddl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_brownpuddm.utc b/cep_blueprints/_hak/prc_add_sb/zep_brownpuddm.utc new file mode 100644 index 0000000..ee9c12f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_brownpuddm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_brownpudds.utc b/cep_blueprints/_hak/prc_add_sb/zep_brownpudds.utc new file mode 100644 index 0000000..e9e4277 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_brownpudds.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bsmith_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_bsmith_001.utc new file mode 100644 index 0000000..b7cf0b3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bsmith_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bsorca.utc b/cep_blueprints/_hak/prc_add_sb/zep_bsorca.utc new file mode 100644 index 0000000..7832924 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bsorca.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bsorcb.utc b/cep_blueprints/_hak/prc_add_sb/zep_bsorcb.utc new file mode 100644 index 0000000..8355616 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bsorcb.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bsorcchiefa.utc b/cep_blueprints/_hak/prc_add_sb/zep_bsorcchiefa.utc new file mode 100644 index 0000000..f4c383e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bsorcchiefa.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bsorcchiefb.utc b/cep_blueprints/_hak/prc_add_sb/zep_bsorcchiefb.utc new file mode 100644 index 0000000..f19b083 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bsorcchiefb.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bsorcwiza.utc b/cep_blueprints/_hak/prc_add_sb/zep_bsorcwiza.utc new file mode 100644 index 0000000..ba7e44e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bsorcwiza.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bsorcwizb.utc b/cep_blueprints/_hak/prc_add_sb/zep_bsorcwizb.utc new file mode 100644 index 0000000..df91e3b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bsorcwizb.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bstool001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bstool001.utp new file mode 100644 index 0000000..348b89e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bstool001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bstool002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bstool002.utp new file mode 100644 index 0000000..125daf7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bstool002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bstool003.utp b/cep_blueprints/_hak/prc_add_sb/zep_bstool003.utp new file mode 100644 index 0000000..ee72f44 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bstool003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_btable001.utp b/cep_blueprints/_hak/prc_add_sb/zep_btable001.utp new file mode 100644 index 0000000..997a2ad Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_btable001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_btable002.utp b/cep_blueprints/_hak/prc_add_sb/zep_btable002.utp new file mode 100644 index 0000000..75049b1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_btable002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_btable003.utp b/cep_blueprints/_hak/prc_add_sb/zep_btable003.utp new file mode 100644 index 0000000..f71f06f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_btable003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_btable004.utp b/cep_blueprints/_hak/prc_add_sb/zep_btable004.utp new file mode 100644 index 0000000..7e88a0c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_btable004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_btable005.utp b/cep_blueprints/_hak/prc_add_sb/zep_btable005.utp new file mode 100644 index 0000000..7bae6ab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_btable005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_btable006.utp b/cep_blueprints/_hak/prc_add_sb/zep_btable006.utp new file mode 100644 index 0000000..8d45544 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_btable006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bucket.utp b/cep_blueprints/_hak/prc_add_sb/zep_bucket.utp new file mode 100644 index 0000000..7f48259 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bucket.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bucket001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bucket001.utp new file mode 100644 index 0000000..aa5b983 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bucket001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_buckler.uti b/cep_blueprints/_hak/prc_add_sb/zep_buckler.uti new file mode 100644 index 0000000..c4eff62 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_buckler.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_buffalo1.utc b/cep_blueprints/_hak/prc_add_sb/zep_buffalo1.utc new file mode 100644 index 0000000..193410c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_buffalo1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_buffalo2.utc b/cep_blueprints/_hak/prc_add_sb/zep_buffalo2.utc new file mode 100644 index 0000000..92e7cff Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_buffalo2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_buffalo3.utc b/cep_blueprints/_hak/prc_add_sb/zep_buffalo3.utc new file mode 100644 index 0000000..656cba4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_buffalo3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_buffalocalf.utc b/cep_blueprints/_hak/prc_add_sb/zep_buffalocalf.utc new file mode 100644 index 0000000..a3bdc4c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_buffalocalf.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bugbear_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_bugbear_001.utc new file mode 100644 index 0000000..b594621 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bugbear_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bugbear_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_bugbear_002.utc new file mode 100644 index 0000000..39ded03 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bugbear_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bugbear_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_bugbear_003.utc new file mode 100644 index 0000000..709735e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bugbear_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bugbear_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_bugbear_004.utc new file mode 100644 index 0000000..39717ea Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bugbear_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bugbear_005.utc b/cep_blueprints/_hak/prc_add_sb/zep_bugbear_005.utc new file mode 100644 index 0000000..a5106fc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bugbear_005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bugbear_006.utc b/cep_blueprints/_hak/prc_add_sb/zep_bugbear_006.utc new file mode 100644 index 0000000..1c90a15 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bugbear_006.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bugbear_007.utc b/cep_blueprints/_hak/prc_add_sb/zep_bugbear_007.utc new file mode 100644 index 0000000..45c6571 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bugbear_007.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bugbear_008.utc b/cep_blueprints/_hak/prc_add_sb/zep_bugbear_008.utc new file mode 100644 index 0000000..e33f075 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bugbear_008.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bugcloud.utc b/cep_blueprints/_hak/prc_add_sb/zep_bugcloud.utc new file mode 100644 index 0000000..a34c929 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bugcloud.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bugcloudl.utc b/cep_blueprints/_hak/prc_add_sb/zep_bugcloudl.utc new file mode 100644 index 0000000..1507643 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bugcloudl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bushfern001.utp b/cep_blueprints/_hak/prc_add_sb/zep_bushfern001.utp new file mode 100644 index 0000000..e94a7c0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bushfern001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_bushfern002.utp b/cep_blueprints/_hak/prc_add_sb/zep_bushfern002.utp new file mode 100644 index 0000000..dc9c31e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_bushfern002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_c2_barghest.ncs b/cep_blueprints/_hak/prc_add_sb/zep_c2_barghest.ncs new file mode 100644 index 0000000..d449775 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_c2_barghest.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_c2_barghest.nss b/cep_blueprints/_hak/prc_add_sb/zep_c2_barghest.nss new file mode 100644 index 0000000..26ac0a3 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_c2_barghest.nss @@ -0,0 +1,49 @@ +//:://///////////////////////////////////////////// +//:: Lycanthrope Change +//:: NW_C2_LYRAT_D +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Changes someone into a barghest when they are + attacked. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Jan 27, 2002 +//:: Modified by: Eligio Sacataca for Barghest +//::////////////////////////////////////////////// + +void main() +{ + // Make sure the were creature has a custom on spawn in with the line Custom User On Attacked being + // commented in. This becomes the Userdefined script. + + int nUser = GetUserDefinedEventNumber(); + + // still needs this check otherwise it could spawn in multiple barghests if + // attacked by multiple creatures at the same time. + int nChange = GetLocalInt(OBJECT_SELF,"ZEP_BARGHESTFORM"); + + effect eVis = EffectVisualEffect(VFX_FNF_SUMMON_UNDEAD); + if(nUser == 1005 && nChange == 0) + { + // Get position and facing of Goblin and set spawn point for the Barghest + vector vGoblin = GetPosition(OBJECT_SELF); + float fAngle = GetFacing(OBJECT_SELF); + location lBarghest; + vector vChange; + object oArea = GetArea(OBJECT_SELF); + vChange.x = cos(fAngle) * 1.0; + lBarghest = Location(oArea, vGoblin+vChange, fAngle); + + DelayCommand(0.9, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, GetLocation(OBJECT_SELF))); + + SetLocalInt(OBJECT_SELF, "ZEP_BARGHESTFORM", 1); + + // Spawn the Barghest + CreateObject(OBJECT_TYPE_CREATURE,"zep_barghest",lBarghest,FALSE); + + // Destroy the goblin + DelayCommand(1.0, DestroyObject(OBJECT_SELF)); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_c2_barghestg.ncs b/cep_blueprints/_hak/prc_add_sb/zep_c2_barghestg.ncs new file mode 100644 index 0000000..9055e40 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_c2_barghestg.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_c2_barghestg.nss b/cep_blueprints/_hak/prc_add_sb/zep_c2_barghestg.nss new file mode 100644 index 0000000..3e5f170 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_c2_barghestg.nss @@ -0,0 +1,49 @@ +//:://///////////////////////////////////////////// +//:: Lycanthrope Change +//:: NW_C2_LYRAT_D +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Changes someone into a greater barghest when they are + attacked. +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Jan 27, 2002 +//:: Modified by: Eligio Sacataca for Barghest +//::////////////////////////////////////////////// + +void main() +{ + // Make sure the were creature has a custom on spawn in with the line Custom User On Attacked being + // commented in. This becomes the Userdefined script. + + int nUser = GetUserDefinedEventNumber(); + + // still needs this check otherwise it could spawn in multiple barghests if + // attacked by multiple creatures at the same time. + int nChange = GetLocalInt(OBJECT_SELF,"ZEP_BARGHESTFORM"); + + effect eVis = EffectVisualEffect(VFX_FNF_SUMMON_UNDEAD); + if(nUser == 1005 && nChange == 0) + { + // Get position and facing of Goblin and set spawn point for the Barghest + vector vGoblin = GetPosition(OBJECT_SELF); + float fAngle = GetFacing(OBJECT_SELF); + location lBarghest; + vector vChange; + object oArea = GetArea(OBJECT_SELF); + vChange.x = cos(fAngle) * 1.0; + lBarghest = Location(oArea, vGoblin+vChange, fAngle); + + DelayCommand(0.9, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, GetLocation(OBJECT_SELF))); + + SetLocalInt(OBJECT_SELF, "ZEP_BARGHESTFORM", 1); + + // Spawn the Barghest + CreateObject(OBJECT_TYPE_CREATURE,"zep_barghestg",lBarghest,FALSE); + + // Destroy the goblin + DelayCommand(1.0, DestroyObject(OBJECT_SELF)); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_c2_lycan_9.ncs b/cep_blueprints/_hak/prc_add_sb/zep_c2_lycan_9.ncs new file mode 100644 index 0000000..b502f82 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_c2_lycan_9.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_c2_lycan_9.nss b/cep_blueprints/_hak/prc_add_sb/zep_c2_lycan_9.nss new file mode 100644 index 0000000..44ee9e2 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_c2_lycan_9.nss @@ -0,0 +1,66 @@ +//:://///////////////////////////////////////////// +//:: Lycanthrope Spawn In +//:: NW_C2_LYCAN_9 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + +*/ +//::////////////////////////////////////////////// +//:: Created By: +//:: Created On: +//:: Modified by: Eligio Sacateca for Barghest +//::////////////////////////////////////////////// + +#include "NW_I0_GENERIC" + +void main() +{ +// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + //SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS); + //SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + +// CUSTOM USER DEFINED EVENTS +/* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 +*/ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + +// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) ***************************************************************************************** + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cabin001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cabin001.utp new file mode 100644 index 0000000..35c4c09 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cabin001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cabinettea.utp b/cep_blueprints/_hak/prc_add_sb/zep_cabinettea.utp new file mode 100644 index 0000000..796a979 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cabinettea.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cactus001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cactus001.utp new file mode 100644 index 0000000..62333cf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cactus001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cactus002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cactus002.utp new file mode 100644 index 0000000..31349cd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cactus002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cactus003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cactus003.utp new file mode 100644 index 0000000..c0783da Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cactus003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cage.utp b/cep_blueprints/_hak/prc_add_sb/zep_cage.utp new file mode 100644 index 0000000..3d19817 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cage.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cage001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cage001.utp new file mode 100644 index 0000000..e051686 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cage001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cage002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cage002.utp new file mode 100644 index 0000000..0b4770e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cage002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cage003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cage003.utp new file mode 100644 index 0000000..3975369 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cage003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cage004.utp b/cep_blueprints/_hak/prc_add_sb/zep_cage004.utp new file mode 100644 index 0000000..2e285ac Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cage004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cage005.utp b/cep_blueprints/_hak/prc_add_sb/zep_cage005.utp new file mode 100644 index 0000000..8792332 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cage005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cage006.utp b/cep_blueprints/_hak/prc_add_sb/zep_cage006.utp new file mode 100644 index 0000000..66f25e0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cage006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cage007.utp b/cep_blueprints/_hak/prc_add_sb/zep_cage007.utp new file mode 100644 index 0000000..42043b4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cage007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cake.utp b/cep_blueprints/_hak/prc_add_sb/zep_cake.utp new file mode 100644 index 0000000..f66ccab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cake.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_camel_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_camel_001.utc new file mode 100644 index 0000000..4dedb69 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_camel_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_camel_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_camel_002.utc new file mode 100644 index 0000000..6cde5e5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_camel_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_campfr001.utp b/cep_blueprints/_hak/prc_add_sb/zep_campfr001.utp new file mode 100644 index 0000000..2b701b6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_campfr001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_candle001.utp b/cep_blueprints/_hak/prc_add_sb/zep_candle001.utp new file mode 100644 index 0000000..25c2af8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_candle001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_candle002.utp b/cep_blueprints/_hak/prc_add_sb/zep_candle002.utp new file mode 100644 index 0000000..bdf6ea1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_candle002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_candle01.utp b/cep_blueprints/_hak/prc_add_sb/zep_candle01.utp new file mode 100644 index 0000000..2ff821a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_candle01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_candle03.utp b/cep_blueprints/_hak/prc_add_sb/zep_candle03.utp new file mode 100644 index 0000000..fcf1c45 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_candle03.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cannon001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cannon001.utp new file mode 100644 index 0000000..7dfc8a8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cannon001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cannon002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cannon002.utp new file mode 100644 index 0000000..9747150 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cannon002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_canopic001.utp b/cep_blueprints/_hak/prc_add_sb/zep_canopic001.utp new file mode 100644 index 0000000..b163136 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_canopic001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_canopic002.utp b/cep_blueprints/_hak/prc_add_sb/zep_canopic002.utp new file mode 100644 index 0000000..b7ddbc6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_canopic002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_canopic003.utp b/cep_blueprints/_hak/prc_add_sb/zep_canopic003.utp new file mode 100644 index 0000000..4298d19 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_canopic003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_canopic004.utp b/cep_blueprints/_hak/prc_add_sb/zep_canopic004.utp new file mode 100644 index 0000000..1904f2e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_canopic004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_capybara.utc b/cep_blueprints/_hak/prc_add_sb/zep_capybara.utc new file mode 100644 index 0000000..867764e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_capybara.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_carn_pink.uti b/cep_blueprints/_hak/prc_add_sb/zep_carn_pink.uti new file mode 100644 index 0000000..661e20d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_carn_pink.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_carpet.utp b/cep_blueprints/_hak/prc_add_sb/zep_carpet.utp new file mode 100644 index 0000000..f3d90e5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_carpet.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_carpet01.utp b/cep_blueprints/_hak/prc_add_sb/zep_carpet01.utp new file mode 100644 index 0000000..f8bb9aa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_carpet01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_carpet02.utp b/cep_blueprints/_hak/prc_add_sb/zep_carpet02.utp new file mode 100644 index 0000000..27b5e11 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_carpet02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_carpet03.utp b/cep_blueprints/_hak/prc_add_sb/zep_carpet03.utp new file mode 100644 index 0000000..0c75c9b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_carpet03.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_carpet04.utp b/cep_blueprints/_hak/prc_add_sb/zep_carpet04.utp new file mode 100644 index 0000000..5c45ef2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_carpet04.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cask001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cask001.utp new file mode 100644 index 0000000..7776b0a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cask001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_castleroof.utp b/cep_blueprints/_hak/prc_add_sb/zep_castleroof.utp new file mode 100644 index 0000000..fa6d5c1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_castleroof.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_catblack.utc b/cep_blueprints/_hak/prc_add_sb/zep_catblack.utc new file mode 100644 index 0000000..b09c6c5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_catblack.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_catblackkit.utc b/cep_blueprints/_hak/prc_add_sb/zep_catblackkit.utc new file mode 100644 index 0000000..283afba Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_catblackkit.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_catblackw.utc b/cep_blueprints/_hak/prc_add_sb/zep_catblackw.utc new file mode 100644 index 0000000..fe5df61 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_catblackw.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_catbobtail.utc b/cep_blueprints/_hak/prc_add_sb/zep_catbobtail.utc new file mode 100644 index 0000000..76cd99f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_catbobtail.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_catcheetah.utc b/cep_blueprints/_hak/prc_add_sb/zep_catcheetah.utc new file mode 100644 index 0000000..ea600d0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_catcheetah.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_catcloudleop.utc b/cep_blueprints/_hak/prc_add_sb/zep_catcloudleop.utc new file mode 100644 index 0000000..dec3765 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_catcloudleop.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_catleopard.utc b/cep_blueprints/_hak/prc_add_sb/zep_catleopard.utc new file mode 100644 index 0000000..d15ac90 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_catleopard.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cattiger.utc b/cep_blueprints/_hak/prc_add_sb/zep_cattiger.utc new file mode 100644 index 0000000..a574c03 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cattiger.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_catwhite.utc b/cep_blueprints/_hak/prc_add_sb/zep_catwhite.utc new file mode 100644 index 0000000..f09ffef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_catwhite.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_catwhitekit.utc b/cep_blueprints/_hak/prc_add_sb/zep_catwhitekit.utc new file mode 100644 index 0000000..d25aeac Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_catwhitekit.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cauldron001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cauldron001.utp new file mode 100644 index 0000000..96914a0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cauldron001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cavetroll.utc b/cep_blueprints/_hak/prc_add_sb/zep_cavetroll.utc new file mode 100644 index 0000000..1e43617 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cavetroll.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cbaslsk_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_cbaslsk_001.utc new file mode 100644 index 0000000..58dc91c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cbaslsk_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_001.utp new file mode 100644 index 0000000..14d53bb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_002.utp new file mode 100644 index 0000000..0757369 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_003.utp new file mode 100644 index 0000000..f92e4f3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_004.utp new file mode 100644 index 0000000..6f77caa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_005.utp new file mode 100644 index 0000000..1c69c4c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_006.utp new file mode 100644 index 0000000..b47dcea Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_007.utp new file mode 100644 index 0000000..808e2fc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_008.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_008.utp new file mode 100644 index 0000000..42bfc7f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_009.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_009.utp new file mode 100644 index 0000000..c13a72e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_010.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_010.utp new file mode 100644 index 0000000..1cf8386 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_011.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_011.utp new file mode 100644 index 0000000..0b48861 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_012.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_012.utp new file mode 100644 index 0000000..f506be0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_013.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_013.utp new file mode 100644 index 0000000..e521d97 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_014.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_014.utp new file mode 100644 index 0000000..20cca87 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_015.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_015.utp new file mode 100644 index 0000000..0c9a7ec Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_bdr_015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_car_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_001.utp new file mode 100644 index 0000000..6286bb7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_car_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_002.utp new file mode 100644 index 0000000..d741308 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_car_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_003.utp new file mode 100644 index 0000000..544a54d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_car_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_004.utp new file mode 100644 index 0000000..5742b14 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_car_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_005.utp new file mode 100644 index 0000000..5466528 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_car_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_006.utp new file mode 100644 index 0000000..3a9ebf4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_car_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_007.utp new file mode 100644 index 0000000..f7e25b1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_car_008.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_008.utp new file mode 100644 index 0000000..65e562e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_car_009.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_009.utp new file mode 100644 index 0000000..6c8abc1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_car_010.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_010.utp new file mode 100644 index 0000000..92c394f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_car_011.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_011.utp new file mode 100644 index 0000000..0d3f16f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_car_012.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_012.utp new file mode 100644 index 0000000..11b15f8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_car_013.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_013.utp new file mode 100644 index 0000000..547544f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_car_013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_chm_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_chm_001.utp new file mode 100644 index 0000000..5be4552 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_chm_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_chm_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_chm_002.utp new file mode 100644 index 0000000..8b5c670 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_chm_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_chm_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_chm_003.utp new file mode 100644 index 0000000..deaa4d4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_chm_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_chm_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_chm_004.utp new file mode 100644 index 0000000..019fdf4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_chm_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_chm_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_chm_005.utp new file mode 100644 index 0000000..da1322b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_chm_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_flw_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_flw_001.utp new file mode 100644 index 0000000..fc55058 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_flw_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_flw_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_flw_002.utp new file mode 100644 index 0000000..92b19bd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_flw_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_flw_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_flw_003.utp new file mode 100644 index 0000000..741f7d3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_flw_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_flw_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_flw_004.utp new file mode 100644 index 0000000..cca796c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_flw_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_flw_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_flw_005.utp new file mode 100644 index 0000000..7bea016 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_flw_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_001.utp new file mode 100644 index 0000000..f599a12 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_002.utp new file mode 100644 index 0000000..17e238c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_003.utp new file mode 100644 index 0000000..6f3804c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_004.utp new file mode 100644 index 0000000..d6f4ba1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_005.utp new file mode 100644 index 0000000..67d7197 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_006.utp new file mode 100644 index 0000000..ee8221c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_007.utp new file mode 100644 index 0000000..e866f31 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_008.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_008.utp new file mode 100644 index 0000000..19545ed Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_009.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_009.utp new file mode 100644 index 0000000..14fbd00 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_010.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_010.utp new file mode 100644 index 0000000..3cf54b1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_011.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_011.utp new file mode 100644 index 0000000..4d4a2cb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_012.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_012.utp new file mode 100644 index 0000000..fc82b23 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_fnc_012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_vst_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_vst_001.utp new file mode 100644 index 0000000..a691eb0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_vst_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ce_vst_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ce_vst_002.utp new file mode 100644 index 0000000..3d9276e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ce_vst_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_celtcmrkr001.utp b/cep_blueprints/_hak/prc_add_sb/zep_celtcmrkr001.utp new file mode 100644 index 0000000..2a4b0dd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_celtcmrkr001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_celtic001.utp b/cep_blueprints/_hak/prc_add_sb/zep_celtic001.utp new file mode 100644 index 0000000..acf1b05 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_celtic001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_celtic002.utp b/cep_blueprints/_hak/prc_add_sb/zep_celtic002.utp new file mode 100644 index 0000000..dbe6142 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_celtic002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_celtic003.utp b/cep_blueprints/_hak/prc_add_sb/zep_celtic003.utp new file mode 100644 index 0000000..00a7fc3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_celtic003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_celtic004.utp b/cep_blueprints/_hak/prc_add_sb/zep_celtic004.utp new file mode 100644 index 0000000..44bef06 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_celtic004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_celtic005.utp b/cep_blueprints/_hak/prc_add_sb/zep_celtic005.utp new file mode 100644 index 0000000..787501a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_celtic005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_celtic006.utp b/cep_blueprints/_hak/prc_add_sb/zep_celtic006.utp new file mode 100644 index 0000000..034fd20 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_celtic006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_celtic007.utp b/cep_blueprints/_hak/prc_add_sb/zep_celtic007.utp new file mode 100644 index 0000000..fbd3630 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_celtic007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_celtic008.utp b/cep_blueprints/_hak/prc_add_sb/zep_celtic008.utp new file mode 100644 index 0000000..56d3184 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_celtic008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_celtic009.utp b/cep_blueprints/_hak/prc_add_sb/zep_celtic009.utp new file mode 100644 index 0000000..e1e65db Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_celtic009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_celtic010.utp b/cep_blueprints/_hak/prc_add_sb/zep_celtic010.utp new file mode 100644 index 0000000..c582ef1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_celtic010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_celtic011.utp b/cep_blueprints/_hak/prc_add_sb/zep_celtic011.utp new file mode 100644 index 0000000..b8e392d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_celtic011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_celtic012.utp b/cep_blueprints/_hak/prc_add_sb/zep_celtic012.utp new file mode 100644 index 0000000..ee20edd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_celtic012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_celtic013.utp b/cep_blueprints/_hak/prc_add_sb/zep_celtic013.utp new file mode 100644 index 0000000..745f4bf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_celtic013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_celtic014.utp b/cep_blueprints/_hak/prc_add_sb/zep_celtic014.utp new file mode 100644 index 0000000..7e2fef9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_celtic014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_celtic015.utp b/cep_blueprints/_hak/prc_add_sb/zep_celtic015.utp new file mode 100644 index 0000000..7f892cd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_celtic015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_celtic016.utp b/cep_blueprints/_hak/prc_add_sb/zep_celtic016.utp new file mode 100644 index 0000000..f80c6a0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_celtic016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cep001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cep001.utp new file mode 100644 index 0000000..1fb7071 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cep001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cgbone_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cgbone_001.utp new file mode 100644 index 0000000..e15ed57 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cgbone_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cgdrga_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_cgdrga_001.utc new file mode 100644 index 0000000..644a241 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cgdrga_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cgdrga_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_cgdrga_002.utc new file mode 100644 index 0000000..576ada1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cgdrga_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cgdrgc_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_cgdrgc_001.utc new file mode 100644 index 0000000..6ccc9f8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cgdrgc_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cgdrgc_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_cgdrgc_002.utc new file mode 100644 index 0000000..2b1760f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cgdrgc_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cgdrge_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_cgdrge_001.utc new file mode 100644 index 0000000..b44f336 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cgdrge_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cgdrge_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_cgdrge_002.utc new file mode 100644 index 0000000..92d27b2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cgdrge_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cgdrgo_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_cgdrgo_001.utc new file mode 100644 index 0000000..a7c3547 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cgdrgo_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cgdrgs_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_cgdrgs_001.utc new file mode 100644 index 0000000..3008888 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cgdrgs_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cgdrgs_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_cgdrgs_002.utc new file mode 100644 index 0000000..e1008ad Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cgdrgs_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cgdrgt_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_cgdrgt_001.utc new file mode 100644 index 0000000..84eb399 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cgdrgt_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cgdrgt_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_cgdrgt_002.utc new file mode 100644 index 0000000..459615f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cgdrgt_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chain.uti b/cep_blueprints/_hak/prc_add_sb/zep_chain.uti new file mode 100644 index 0000000..6c30802 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chain.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chainbikini.uti b/cep_blueprints/_hak/prc_add_sb/zep_chainbikini.uti new file mode 100644 index 0000000..a3d0a6b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chainbikini.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chair001.utp b/cep_blueprints/_hak/prc_add_sb/zep_chair001.utp new file mode 100644 index 0000000..e413dc4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chair001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chair002.utp b/cep_blueprints/_hak/prc_add_sb/zep_chair002.utp new file mode 100644 index 0000000..ee57ac7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chair002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chair004.utp b/cep_blueprints/_hak/prc_add_sb/zep_chair004.utp new file mode 100644 index 0000000..0359c27 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chair004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chair017.utp b/cep_blueprints/_hak/prc_add_sb/zep_chair017.utp new file mode 100644 index 0000000..1627cd8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chair017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chairs002.utp b/cep_blueprints/_hak/prc_add_sb/zep_chairs002.utp new file mode 100644 index 0000000..de4954f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chairs002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chairs003.utp b/cep_blueprints/_hak/prc_add_sb/zep_chairs003.utp new file mode 100644 index 0000000..1f30263 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chairs003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chairs004.utp b/cep_blueprints/_hak/prc_add_sb/zep_chairs004.utp new file mode 100644 index 0000000..7c14dfd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chairs004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chairs005.utp b/cep_blueprints/_hak/prc_add_sb/zep_chairs005.utp new file mode 100644 index 0000000..10e0bdc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chairs005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chairs006.utp b/cep_blueprints/_hak/prc_add_sb/zep_chairs006.utp new file mode 100644 index 0000000..da7e661 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chairs006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chairs007.utp b/cep_blueprints/_hak/prc_add_sb/zep_chairs007.utp new file mode 100644 index 0000000..99d23b9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chairs007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chakram.uti b/cep_blueprints/_hak/prc_add_sb/zep_chakram.uti new file mode 100644 index 0000000..7e3d848 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chakram.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chan.uti b/cep_blueprints/_hak/prc_add_sb/zep_chan.uti new file mode 100644 index 0000000..398c0e9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chan.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chbog_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_chbog_001.utp new file mode 100644 index 0000000..c9eee27 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chbog_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cheese001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cheese001.utp new file mode 100644 index 0000000..31c5302 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cheese001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cheese002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cheese002.utp new file mode 100644 index 0000000..fa68ff8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cheese002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cheese_wh001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cheese_wh001.utp new file mode 100644 index 0000000..c47247a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cheese_wh001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cheese_wheel.utp b/cep_blueprints/_hak/prc_add_sb/zep_cheese_wheel.utp new file mode 100644 index 0000000..b73efbc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cheese_wheel.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cheesestack.utp b/cep_blueprints/_hak/prc_add_sb/zep_cheesestack.utp new file mode 100644 index 0000000..3a947dd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cheesestack.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chessboard.utp b/cep_blueprints/_hak/prc_add_sb/zep_chessboard.utp new file mode 100644 index 0000000..c5b1b3c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chessboard.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chessbrdped.utp b/cep_blueprints/_hak/prc_add_sb/zep_chessbrdped.utp new file mode 100644 index 0000000..27cbc3c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chessbrdped.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chest_dag.utp b/cep_blueprints/_hak/prc_add_sb/zep_chest_dag.utp new file mode 100644 index 0000000..d25b238 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chest_dag.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chest_dag001.utp b/cep_blueprints/_hak/prc_add_sb/zep_chest_dag001.utp new file mode 100644 index 0000000..e9f344b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chest_dag001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chest_dag002.utp b/cep_blueprints/_hak/prc_add_sb/zep_chest_dag002.utp new file mode 100644 index 0000000..c93db63 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chest_dag002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_child_rrh.uti b/cep_blueprints/_hak/prc_add_sb/zep_child_rrh.uti new file mode 100644 index 0000000..41ab96c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_child_rrh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_childs_dress.uti b/cep_blueprints/_hak/prc_add_sb/zep_childs_dress.uti new file mode 100644 index 0000000..f1850d3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_childs_dress.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chimera.utc b/cep_blueprints/_hak/prc_add_sb/zep_chimera.utc new file mode 100644 index 0000000..7fe60a5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chimera.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chirish_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_chirish_001.utp new file mode 100644 index 0000000..e0e1973 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chirish_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chirish_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_chirish_002.utp new file mode 100644 index 0000000..4b9712c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chirish_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chitinhelm.uti b/cep_blueprints/_hak/prc_add_sb/zep_chitinhelm.uti new file mode 100644 index 0000000..b88e381 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chitinhelm.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chking_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_chking_001.utp new file mode 100644 index 0000000..254685c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chking_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chking_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_chking_002.utp new file mode 100644 index 0000000..eb68e4e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chking_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chking_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_chking_003.utp new file mode 100644 index 0000000..bf93bdd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chking_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chking_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_chking_004.utp new file mode 100644 index 0000000..2599f8a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chking_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chndler001.utp b/cep_blueprints/_hak/prc_add_sb/zep_chndler001.utp new file mode 100644 index 0000000..19b3981 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chndler001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chndler002.utp b/cep_blueprints/_hak/prc_add_sb/zep_chndler002.utp new file mode 100644 index 0000000..267b656 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chndler002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chrys.uti b/cep_blueprints/_hak/prc_add_sb/zep_chrys.uti new file mode 100644 index 0000000..e5df415 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chrys.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chssbrdmystc.utp b/cep_blueprints/_hak/prc_add_sb/zep_chssbrdmystc.utp new file mode 100644 index 0000000..84a520e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chssbrdmystc.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_chupacabra.utc b/cep_blueprints/_hak/prc_add_sb/zep_chupacabra.utc new file mode 100644 index 0000000..e9b3b44 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_chupacabra.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_001.utp new file mode 100644 index 0000000..8ebaefa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_002.utp new file mode 100644 index 0000000..b68e313 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_003.utp new file mode 100644 index 0000000..d47e8f7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_004.utp new file mode 100644 index 0000000..0ed3547 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_005.utp new file mode 100644 index 0000000..000d7a0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_006.utp new file mode 100644 index 0000000..f919d91 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_007.utp new file mode 100644 index 0000000..8d4a0cb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_008.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_008.utp new file mode 100644 index 0000000..62f330f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_009.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_009.utp new file mode 100644 index 0000000..5e9aab3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_010.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_010.utp new file mode 100644 index 0000000..5182e82 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_bed_010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_chr_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_chr_001.utp new file mode 100644 index 0000000..0a16d2b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_chr_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_chr_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_chr_002.utp new file mode 100644 index 0000000..0e3cb4b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_chr_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_chr_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_chr_003.utp new file mode 100644 index 0000000..4e59439 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_chr_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_chr_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_chr_004.utp new file mode 100644 index 0000000..29002ba Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_chr_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_chr_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_chr_005.utp new file mode 100644 index 0000000..f1a1b1e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_chr_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_clk_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_clk_001.utp new file mode 100644 index 0000000..f07bb53 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_clk_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_cpt_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_cpt_001.utp new file mode 100644 index 0000000..76d636a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_cpt_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_001.utp new file mode 100644 index 0000000..e26c669 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_002.utp new file mode 100644 index 0000000..2deb972 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_003.utp new file mode 100644 index 0000000..6d0f813 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_004.utp new file mode 100644 index 0000000..cb89b2f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_005.utp new file mode 100644 index 0000000..c1da5cf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_006.utp new file mode 100644 index 0000000..a1db748 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_007.utp new file mode 100644 index 0000000..7f43c27 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_008.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_008.utp new file mode 100644 index 0000000..d5d4ce4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_009.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_009.utp new file mode 100644 index 0000000..77e719f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_010.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_010.utp new file mode 100644 index 0000000..7f76874 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_011.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_011.utp new file mode 100644 index 0000000..b9bf251 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_012.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_012.utp new file mode 100644 index 0000000..50f288d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_013.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_013.utp new file mode 100644 index 0000000..63c6764 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_014.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_014.utp new file mode 100644 index 0000000..b0e45c1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_015.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_015.utp new file mode 100644 index 0000000..2883b2f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_016.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_016.utp new file mode 100644 index 0000000..855b815 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_017.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_017.utp new file mode 100644 index 0000000..bb1e7d9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_018.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_018.utp new file mode 100644 index 0000000..7b165ab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_018.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_019.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_019.utp new file mode 100644 index 0000000..adf2020 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_019.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_020.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_020.utp new file mode 100644 index 0000000..ae99539 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_crt_020.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_fch_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_fch_001.utp new file mode 100644 index 0000000..f760c46 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_fch_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_fch_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_fch_002.utp new file mode 100644 index 0000000..f5c9135 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_fch_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_fch_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_fch_003.utp new file mode 100644 index 0000000..74bccc2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_fch_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_fpl_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_fpl_001.utp new file mode 100644 index 0000000..1a7ab98 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_fpl_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_fpl_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_fpl_002.utp new file mode 100644 index 0000000..adea9b8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_fpl_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_fpl_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_fpl_003.utp new file mode 100644 index 0000000..9b2bf3f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_fpl_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_fvs_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_fvs_001.utp new file mode 100644 index 0000000..295bf59 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_fvs_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_lgt_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_lgt_001.utp new file mode 100644 index 0000000..f2c8e8c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_lgt_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_lgt_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_lgt_002.utp new file mode 100644 index 0000000..d780eeb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_lgt_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_lgt_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_lgt_003.utp new file mode 100644 index 0000000..b2e9e3c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_lgt_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_lgt_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_lgt_004.utp new file mode 100644 index 0000000..856e989 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_lgt_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pfl_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pfl_001.utp new file mode 100644 index 0000000..38c19ba Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pfl_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pfl_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pfl_002.utp new file mode 100644 index 0000000..f4daf74 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pfl_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pfl_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pfl_003.utp new file mode 100644 index 0000000..5f4f0d4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pfl_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pfl_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pfl_004.utp new file mode 100644 index 0000000..480f319 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pfl_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pfl_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pfl_005.utp new file mode 100644 index 0000000..3d2a69b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pfl_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pfl_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pfl_006.utp new file mode 100644 index 0000000..4bba503 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pfl_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_001.utp new file mode 100644 index 0000000..3bfc32f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_002.utp new file mode 100644 index 0000000..d129cb0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_003.utp new file mode 100644 index 0000000..52cfd8c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_004.utp new file mode 100644 index 0000000..6b51ab0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_005.utp new file mode 100644 index 0000000..4b295c6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_006.utp new file mode 100644 index 0000000..0a53b80 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_007.utp new file mode 100644 index 0000000..f5fc7b9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_008.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_008.utp new file mode 100644 index 0000000..18b9e7f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_009.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_009.utp new file mode 100644 index 0000000..512b5e3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_010.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_010.utp new file mode 100644 index 0000000..c165cc1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_011.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_011.utp new file mode 100644 index 0000000..b207b98 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_012.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_012.utp new file mode 100644 index 0000000..56a895f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_013.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_013.utp new file mode 100644 index 0000000..ca8810d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_014.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_014.utp new file mode 100644 index 0000000..e451965 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_015.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_015.utp new file mode 100644 index 0000000..6588899 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_016.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_016.utp new file mode 100644 index 0000000..d8fb738 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_017.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_017.utp new file mode 100644 index 0000000..7692261 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_018.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_018.utp new file mode 100644 index 0000000..808ee9a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_018.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_019.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_019.utp new file mode 100644 index 0000000..7182412 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_019.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_020.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_020.utp new file mode 100644 index 0000000..f8cc721 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_pnt_020.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_sbr_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_sbr_001.utp new file mode 100644 index 0000000..b41cf17 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_sbr_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_shc_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_shc_001.utp new file mode 100644 index 0000000..25f78b4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_shc_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_tbl_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_tbl_001.utp new file mode 100644 index 0000000..13a09cf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_tbl_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_tbl_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_tbl_002.utp new file mode 100644 index 0000000..bc240fb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_tbl_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_tbl_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_tbl_003.utp new file mode 100644 index 0000000..7444b27 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_tbl_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_wdw_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_wdw_001.utp new file mode 100644 index 0000000..f3f9f6d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_wdw_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_wdw_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_wdw_002.utp new file mode 100644 index 0000000..d934244 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_wdw_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_wdw_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_wdw_003.utp new file mode 100644 index 0000000..4252d27 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_wdw_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ci_wdw_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_ci_wdw_004.utp new file mode 100644 index 0000000..bfa64cd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ci_wdw_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cityintriorf.utp b/cep_blueprints/_hak/prc_add_sb/zep_cityintriorf.utp new file mode 100644 index 0000000..77783e1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cityintriorf.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cjguard_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_cjguard_001.utc new file mode 100644 index 0000000..9025fc9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cjguard_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cleric.utc b/cep_blueprints/_hak/prc_add_sb/zep_cleric.utc new file mode 100644 index 0000000..001d64d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cleric.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cleric001.utc b/cep_blueprints/_hak/prc_add_sb/zep_cleric001.utc new file mode 100644 index 0000000..ed9c731 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cleric001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_clfemur_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_clfemur_001.uti new file mode 100644 index 0000000..8b44260 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_clfemur_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cloak.uti b/cep_blueprints/_hak/prc_add_sb/zep_cloak.uti new file mode 100644 index 0000000..68ebde3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cloak.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cloak001.uti b/cep_blueprints/_hak/prc_add_sb/zep_cloak001.uti new file mode 100644 index 0000000..18fb93d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cloak001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cloak003.uti b/cep_blueprints/_hak/prc_add_sb/zep_cloak003.uti new file mode 100644 index 0000000..3f43e62 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cloak003.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cloak004.uti b/cep_blueprints/_hak/prc_add_sb/zep_cloak004.uti new file mode 100644 index 0000000..48ebdb8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cloak004.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cloak005.uti b/cep_blueprints/_hak/prc_add_sb/zep_cloak005.uti new file mode 100644 index 0000000..3a910eb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cloak005.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cloak006.uti b/cep_blueprints/_hak/prc_add_sb/zep_cloak006.uti new file mode 100644 index 0000000..4357348 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cloak006.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cloak007.uti b/cep_blueprints/_hak/prc_add_sb/zep_cloak007.uti new file mode 100644 index 0000000..1a3a271 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cloak007.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cloak008.uti b/cep_blueprints/_hak/prc_add_sb/zep_cloak008.uti new file mode 100644 index 0000000..4b44b16 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cloak008.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cloak009.uti b/cep_blueprints/_hak/prc_add_sb/zep_cloak009.uti new file mode 100644 index 0000000..8032051 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cloak009.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_clreav_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_clreav_001.uti new file mode 100644 index 0000000..ae9b05d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_clreav_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_001.utc new file mode 100644 index 0000000..67c11c9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_002.utc new file mode 100644 index 0000000..d4bc136 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_003.utc new file mode 100644 index 0000000..04dcfa6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_004.utc new file mode 100644 index 0000000..9ed6ae5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_005.utc b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_005.utc new file mode 100644 index 0000000..c71694b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_006.utc b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_006.utc new file mode 100644 index 0000000..c50c3af Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_006.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_007.utc b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_007.utc new file mode 100644 index 0000000..9cf117e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_007.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_008.utc b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_008.utc new file mode 100644 index 0000000..7341aa0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_008.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_009.utc b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_009.utc new file mode 100644 index 0000000..79f25ca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_009.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_010.utc b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_010.utc new file mode 100644 index 0000000..e79b904 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_010.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_011.utc b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_011.utc new file mode 100644 index 0000000..679c870 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_011.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_012.utc b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_012.utc new file mode 100644 index 0000000..3d8e0d3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_012.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_013.utc b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_013.utc new file mode 100644 index 0000000..d1a86a7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cmgnoll_013.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cndlbra001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cndlbra001.utp new file mode 100644 index 0000000..2226b0c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cndlbra001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cndlbra002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cndlbra002.utp new file mode 100644 index 0000000..6b25804 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cndlbra002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cobweb001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cobweb001.utp new file mode 100644 index 0000000..683bc3d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cobweb001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cobweb002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cobweb002.utp new file mode 100644 index 0000000..82b1754 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cobweb002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cobweb003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cobweb003.utp new file mode 100644 index 0000000..0f48920 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cobweb003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cobweb004.utp b/cep_blueprints/_hak/prc_add_sb/zep_cobweb004.utp new file mode 100644 index 0000000..a77493d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cobweb004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cobweb005.utp b/cep_blueprints/_hak/prc_add_sb/zep_cobweb005.utp new file mode 100644 index 0000000..b7a1ab0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cobweb005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cobweb006.utp b/cep_blueprints/_hak/prc_add_sb/zep_cobweb006.utp new file mode 100644 index 0000000..c9866a9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cobweb006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cobweb007.utp b/cep_blueprints/_hak/prc_add_sb/zep_cobweb007.utp new file mode 100644 index 0000000..10b1115 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cobweb007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cobweb008.utp b/cep_blueprints/_hak/prc_add_sb/zep_cobweb008.utp new file mode 100644 index 0000000..83ce544 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cobweb008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cobweb009.utp b/cep_blueprints/_hak/prc_add_sb/zep_cobweb009.utp new file mode 100644 index 0000000..0b83ebd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cobweb009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_coffin001.utp b/cep_blueprints/_hak/prc_add_sb/zep_coffin001.utp new file mode 100644 index 0000000..6a1f2e3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_coffin001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_column001.utp b/cep_blueprints/_hak/prc_add_sb/zep_column001.utp new file mode 100644 index 0000000..93b6c8d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_column001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_column002.utp b/cep_blueprints/_hak/prc_add_sb/zep_column002.utp new file mode 100644 index 0000000..c93e26a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_column002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_column003.utp b/cep_blueprints/_hak/prc_add_sb/zep_column003.utp new file mode 100644 index 0000000..ff212df Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_column003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_column004.utp b/cep_blueprints/_hak/prc_add_sb/zep_column004.utp new file mode 100644 index 0000000..bfb93ad Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_column004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_column005.utp b/cep_blueprints/_hak/prc_add_sb/zep_column005.utp new file mode 100644 index 0000000..c445137 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_column005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_column007.utp b/cep_blueprints/_hak/prc_add_sb/zep_column007.utp new file mode 100644 index 0000000..7bdc781 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_column007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_column008.utp b/cep_blueprints/_hak/prc_add_sb/zep_column008.utp new file mode 100644 index 0000000..713d062 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_column008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_common.uti b/cep_blueprints/_hak/prc_add_sb/zep_common.uti new file mode 100644 index 0000000..2f96334 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_common.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_commonw.uti b/cep_blueprints/_hak/prc_add_sb/zep_commonw.uti new file mode 100644 index 0000000..1fc2a12 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_commonw.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_coosheep.utc b/cep_blueprints/_hak/prc_add_sb/zep_coosheep.utc new file mode 100644 index 0000000..78d0fad Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_coosheep.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cornugon.utc b/cep_blueprints/_hak/prc_add_sb/zep_cornugon.utc new file mode 100644 index 0000000..5bbdcd7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cornugon.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cornugona.utc b/cep_blueprints/_hak/prc_add_sb/zep_cornugona.utc new file mode 100644 index 0000000..aa5bdf1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cornugona.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cornugongr.utc b/cep_blueprints/_hak/prc_add_sb/zep_cornugongr.utc new file mode 100644 index 0000000..58b970b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cornugongr.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_corollax.utc b/cep_blueprints/_hak/prc_add_sb/zep_corollax.utc new file mode 100644 index 0000000..bae49d0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_corollax.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_corollaxskin.uti b/cep_blueprints/_hak/prc_add_sb/zep_corollaxskin.uti new file mode 100644 index 0000000..1a9c869 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_corollaxskin.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_couch001.utp b/cep_blueprints/_hak/prc_add_sb/zep_couch001.utp new file mode 100644 index 0000000..9b22e1d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_couch001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_couch002.utp b/cep_blueprints/_hak/prc_add_sb/zep_couch002.utp new file mode 100644 index 0000000..04159b8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_couch002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_couch003.utp b/cep_blueprints/_hak/prc_add_sb/zep_couch003.utp new file mode 100644 index 0000000..b1b95b4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_couch003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cougar.utc b/cep_blueprints/_hak/prc_add_sb/zep_cougar.utc new file mode 100644 index 0000000..3f4ee7d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cougar.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_couillard.utp b/cep_blueprints/_hak/prc_add_sb/zep_couillard.utp new file mode 100644 index 0000000..bace93e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_couillard.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cow2.utc b/cep_blueprints/_hak/prc_add_sb/zep_cow2.utc new file mode 100644 index 0000000..96198af Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cow2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cowangus.utc b/cep_blueprints/_hak/prc_add_sb/zep_cowangus.utc new file mode 100644 index 0000000..d405a8b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cowangus.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cowangusbr.utc b/cep_blueprints/_hak/prc_add_sb/zep_cowangusbr.utc new file mode 100644 index 0000000..24cf2ab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cowangusbr.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cowbrahma.utc b/cep_blueprints/_hak/prc_add_sb/zep_cowbrahma.utc new file mode 100644 index 0000000..86bbccd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cowbrahma.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cowcalf2.utc b/cep_blueprints/_hak/prc_add_sb/zep_cowcalf2.utc new file mode 100644 index 0000000..7866b33 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cowcalf2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cowcalfbr.utc b/cep_blueprints/_hak/prc_add_sb/zep_cowcalfbr.utc new file mode 100644 index 0000000..fbec3e2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cowcalfbr.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cowfightbull.utc b/cep_blueprints/_hak/prc_add_sb/zep_cowfightbull.utc new file mode 100644 index 0000000..cea14c3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cowfightbull.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cowhighland.utc b/cep_blueprints/_hak/prc_add_sb/zep_cowhighland.utc new file mode 100644 index 0000000..23c44b7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cowhighland.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cowholsbr.utc b/cep_blueprints/_hak/prc_add_sb/zep_cowholsbr.utc new file mode 100644 index 0000000..262d3b9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cowholsbr.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cowlonghorn.utc b/cep_blueprints/_hak/prc_add_sb/zep_cowlonghorn.utc new file mode 100644 index 0000000..237e595 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cowlonghorn.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cowrothe.utc b/cep_blueprints/_hak/prc_add_sb/zep_cowrothe.utc new file mode 100644 index 0000000..24aed1a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cowrothe.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_bb_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_bb_001.utp new file mode 100644 index 0000000..693464b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_bb_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_bb_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_bb_002.utp new file mode 100644 index 0000000..85077d2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_bb_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_bb_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_bb_003.utp new file mode 100644 index 0000000..80d872d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_bb_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_bbc_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_bbc_001.utp new file mode 100644 index 0000000..5974432 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_bbc_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_bbc_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_bbc_002.utp new file mode 100644 index 0000000..b38d4ee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_bbc_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_bbc_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_bbc_003.utp new file mode 100644 index 0000000..ff9589a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_bbc_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_bbs_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_bbs_001.utp new file mode 100644 index 0000000..cbedfad Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_bbs_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_bbs_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_bbs_002.utp new file mode 100644 index 0000000..ce24ffb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_bbs_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_bbs_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_bbs_003.utp new file mode 100644 index 0000000..2860ba7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_bbs_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_dwf_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_dwf_001.utp new file mode 100644 index 0000000..2f42e23 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_dwf_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_dwf_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_dwf_002.utp new file mode 100644 index 0000000..0f32eb6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_dwf_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_dwm_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_dwm_001.utp new file mode 100644 index 0000000..f166e52 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_dwm_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_dwm_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_dwm_002.utp new file mode 100644 index 0000000..fced4d7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_dwm_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_dws_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_dws_001.utp new file mode 100644 index 0000000..59b509c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_dws_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_elff_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_elff_001.utp new file mode 100644 index 0000000..1204e05 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_elff_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_elff_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_elff_002.utp new file mode 100644 index 0000000..911c372 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_elff_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_elfm_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_elfm_001.utp new file mode 100644 index 0000000..a945401 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_elfm_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_elfm_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_elfm_002.utp new file mode 100644 index 0000000..2afc2a9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_elfm_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_elfs_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_elfs_001.utp new file mode 100644 index 0000000..86a84da Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_elfs_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_001.utp new file mode 100644 index 0000000..43d4f0a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_002.utp new file mode 100644 index 0000000..3b311db Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_003.utp new file mode 100644 index 0000000..54c02e1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_004.utp new file mode 100644 index 0000000..f46499e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_005.utp new file mode 100644 index 0000000..663b699 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_006.utp new file mode 100644 index 0000000..6b6f18e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_007.utp new file mode 100644 index 0000000..88eb8f2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_008.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_008.utp new file mode 100644 index 0000000..0d62094 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_009.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_009.utp new file mode 100644 index 0000000..d00b72f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_010.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_010.utp new file mode 100644 index 0000000..c5fb328 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_fem_010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_gnl_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_gnl_001.utp new file mode 100644 index 0000000..be9218c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_gnl_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_gnl_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_gnl_002.utp new file mode 100644 index 0000000..0cfdcf2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_gnl_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_gnl_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_gnl_003.utp new file mode 100644 index 0000000..f9b71c5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_gnl_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_gnls_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_gnls_001.utp new file mode 100644 index 0000000..0c4513c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_gnls_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_gnls_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_gnls_002.utp new file mode 100644 index 0000000..4e8d325 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_gnls_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_gnls_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_gnls_003.utp new file mode 100644 index 0000000..34c7422 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_gnls_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_gob_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_gob_001.utp new file mode 100644 index 0000000..333fabc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_gob_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_gob_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_gob_002.utp new file mode 100644 index 0000000..5459b57 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_gob_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_gob_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_gob_003.utp new file mode 100644 index 0000000..d254ddd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_gob_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_gobc_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_gobc_001.utp new file mode 100644 index 0000000..28e4398 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_gobc_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_gobc_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_gobc_002.utp new file mode 100644 index 0000000..9e6f42c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_gobc_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_gobc_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_gobc_003.utp new file mode 100644 index 0000000..0c46008 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_gobc_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_gobs_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_gobs_001.utp new file mode 100644 index 0000000..4dbd98f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_gobs_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_gobs_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_gobs_002.utp new file mode 100644 index 0000000..4729fa0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_gobs_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_gobs_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_gobs_003.utp new file mode 100644 index 0000000..cbad4bf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_gobs_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_hgb_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_hgb_001.utp new file mode 100644 index 0000000..1932111 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_hgb_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_hgb_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_hgb_002.utp new file mode 100644 index 0000000..867069f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_hgb_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_hgb_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_hgb_003.utp new file mode 100644 index 0000000..522fc54 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_hgb_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_hgbs_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_hgbs_001.utp new file mode 100644 index 0000000..d11e57b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_hgbs_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_hgbs_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_hgbs_002.utp new file mode 100644 index 0000000..35ac761 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_hgbs_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_hgbs_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_hgbs_003.utp new file mode 100644 index 0000000..f736f06 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_hgbs_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_hgnt_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_hgnt_001.utp new file mode 100644 index 0000000..69791d0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_hgnt_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_hlff_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_hlff_001.utp new file mode 100644 index 0000000..7e40ca3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_hlff_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_hlff_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_hlff_002.utp new file mode 100644 index 0000000..5ece8b5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_hlff_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_hlfm_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_hlfm_001.utp new file mode 100644 index 0000000..e9102fe Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_hlfm_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_hlfm_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_hlfm_002.utp new file mode 100644 index 0000000..0a317c4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_hlfm_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_hlfs_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_hlfs_001.utp new file mode 100644 index 0000000..606cf7e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_hlfs_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_hof_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_hof_001.utp new file mode 100644 index 0000000..06bcf45 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_hof_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_hof_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_hof_002.utp new file mode 100644 index 0000000..30a9cf9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_hof_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_hom_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_hom_001.utp new file mode 100644 index 0000000..4b9ce8e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_hom_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_hom_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_hom_002.utp new file mode 100644 index 0000000..5032507 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_hom_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_hom_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_hom_003.utp new file mode 100644 index 0000000..8db644f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_hom_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_hom_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_hom_004.utp new file mode 100644 index 0000000..f333a43 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_hom_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_male_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_001.utp new file mode 100644 index 0000000..5af7369 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_male_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_002.utp new file mode 100644 index 0000000..135eb1d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_male_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_003.utp new file mode 100644 index 0000000..f801957 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_male_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_004.utp new file mode 100644 index 0000000..9dc1dbb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_male_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_005.utp new file mode 100644 index 0000000..a491e3c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_male_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_006.utp new file mode 100644 index 0000000..6903369 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_male_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_007.utp new file mode 100644 index 0000000..04e61b1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_male_008.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_008.utp new file mode 100644 index 0000000..a539f1f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_male_009.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_009.utp new file mode 100644 index 0000000..5cedb2b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_male_010.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_010.utp new file mode 100644 index 0000000..c4f24ff Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_male_011.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_011.utp new file mode 100644 index 0000000..321193e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_male_012.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_012.utp new file mode 100644 index 0000000..8f471ab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_male_013.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_013.utp new file mode 100644 index 0000000..a42909b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_male_014.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_014.utp new file mode 100644 index 0000000..f026dc9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_male_015.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_015.utp new file mode 100644 index 0000000..a2edc1c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_male_016.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_016.utp new file mode 100644 index 0000000..84ccdad Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_male_017.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_017.utp new file mode 100644 index 0000000..984b1a9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_male_018.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_018.utp new file mode 100644 index 0000000..63af887 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_male_018.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_ogr_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_ogr_001.utp new file mode 100644 index 0000000..1270488 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_ogr_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_ogr_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_ogr_002.utp new file mode 100644 index 0000000..08962c4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_ogr_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_ogr_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_ogr_003.utp new file mode 100644 index 0000000..2c6fc6f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_ogr_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_ogrc_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_ogrc_001.utp new file mode 100644 index 0000000..ee4719b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_ogrc_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_ogrc_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_ogrc_002.utp new file mode 100644 index 0000000..098ddd5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_ogrc_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_ogrc_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_ogrc_003.utp new file mode 100644 index 0000000..dabbc0e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_ogrc_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_ogrw_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_ogrw_001.utp new file mode 100644 index 0000000..13928c3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_ogrw_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_ogrw_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_ogrw_002.utp new file mode 100644 index 0000000..817acd1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_ogrw_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_ogrw_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_ogrw_003.utp new file mode 100644 index 0000000..5d8c9df Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_ogrw_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_orc_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_orc_001.utp new file mode 100644 index 0000000..6ebd255 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_orc_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_orc_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_orc_002.utp new file mode 100644 index 0000000..ebf7190 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_orc_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_orc_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_orc_003.utp new file mode 100644 index 0000000..c876569 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_orc_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_orcc_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_orcc_001.utp new file mode 100644 index 0000000..e46bc17 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_orcc_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_orcc_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_orcc_002.utp new file mode 100644 index 0000000..bf67ee3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_orcc_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_orcc_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_orcc_003.utp new file mode 100644 index 0000000..072daa3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_orcc_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_orcs_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_orcs_001.utp new file mode 100644 index 0000000..72f245d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_orcs_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_orcs_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_orcs_002.utp new file mode 100644 index 0000000..d1b74ef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_orcs_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_orcs_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_orcs_003.utp new file mode 100644 index 0000000..ae94a73 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_orcs_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_pile_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_pile_001.utp new file mode 100644 index 0000000..14a77df Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_pile_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_pile_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_pile_002.utp new file mode 100644 index 0000000..5c25b47 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_pile_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_sit_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_sit_001.utp new file mode 100644 index 0000000..ffad006 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_sit_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_sit_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_sit_002.utp new file mode 100644 index 0000000..99d8a3b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_sit_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_trod_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_trod_001.utp new file mode 100644 index 0000000..427ed2b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_trod_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_trod_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_trod_002.utp new file mode 100644 index 0000000..8b3c8b8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_trod_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_trod_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_trod_003.utp new file mode 100644 index 0000000..e9e6b2c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_trod_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_trod_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_trod_004.utp new file mode 100644 index 0000000..b8e7909 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_trod_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_trod_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_trod_005.utp new file mode 100644 index 0000000..d1c7faf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_trod_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cps_trod_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_cps_trod_006.utp new file mode 100644 index 0000000..e2ddef4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cps_trod_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_attempt.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_attempt.ncs new file mode 100644 index 0000000..4ac97b6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_attempt.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_attempt.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_attempt.nss new file mode 100644 index 0000000..3af86cb --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_attempt.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_AttemptCraft(GetPCSpeaker()); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_canca.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_canca.ncs new file mode 100644 index 0000000..dc63a36 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_canca.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_canca.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_canca.nss new file mode 100644 index 0000000..83bcd1c --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_canca.nss @@ -0,0 +1,36 @@ +#include "zep_inc_craft" + +int StartingConditional() { + object oPC = GetPCSpeaker(); + object oArmor = GetItemInSlot(INVENTORY_SLOT_CHEST, oPC); + if (!GetIsObjectValid(oArmor) || GetPlotFlag(oArmor)) + return FALSE; + + if (GetIsDM(oPC)) return TRUE; + + string sRequired; + int iAC = StringToInt(Get2DAString("parts_chest", "ACBONUS", GetItemAppearance(oArmor, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_TORSO))); + if (iAC==0) sRequired = "ZEP_CR_CLOTH"; + if (iAC>=1 && iAC<=3) sRequired = "ZEP_CR_LEATHER"; + if (iAC>=4 && iAC<=5) sRequired = "ZEP_CR_SCALE"; + if (iAC>=6 && iAC<=8) sRequired = "ZEP_CR_METAL"; + + object oNPC = GetLocalObject(oPC, "ZEP_CR_NPC"); + if (GetIsObjectValid(oNPC)) { + if (GetLocalInt(oNPC, sRequired) == 1) + return TRUE; + else return FALSE; + + } else if (ZEP_CR_REQUIRE_PLACEABLE) { + int i=1; + object oPlaceable = GetNearestObjectByTag(ZEP_CR_PLACEABLE_TAG, oPC, 1); + while (GetIsObjectValid(oPlaceable) && GetArea(oPC) == GetArea(oPlaceable) + && GetDistanceBetween(oPC, oPlaceable) <= ZEP_CR_REQUIRED_DISTANCE) { + if (GetLocalInt(oPlaceable, sRequired) == 1) + return TRUE; + oPlaceable = GetNearestObjectByTag(ZEP_CR_PLACEABLE_TAG, oPC, ++i); + } + return FALSE; + } + return TRUE; +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_canca_n.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_canca_n.ncs new file mode 100644 index 0000000..674ae3d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_canca_n.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_canca_n.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_canca_n.nss new file mode 100644 index 0000000..0ae72b8 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_canca_n.nss @@ -0,0 +1,46 @@ +#include "zep_inc_craft" + +int StartingConditional() { + object oPC = GetPCSpeaker(); + object oArmor = GetItemInSlot(INVENTORY_SLOT_HEAD, oPC); + if (!GetIsObjectValid(oArmor) || GetPlotFlag(oArmor)) { + oArmor = GetItemInSlot(INVENTORY_SLOT_CHEST, oPC); + if (!GetIsObjectValid(oArmor) || GetPlotFlag(oArmor)) { + SetCustomToken(ZEP_CR_TOKENBASE+4, "You do not have any armor or helmet equipped to modify"); + return TRUE; + } + } + + if (GetIsDM(oPC)) return FALSE; + + string sRequired; + if (GetBaseItemType(oArmor)==BASE_ITEM_HELMET) { + sRequired = "ZEP_CR_HELMET"; + } else { + int iAC = StringToInt(Get2DAString("parts_chest", "ACBONUS", GetItemAppearance(oArmor, ITEM_APPR_TYPE_ARMOR_MODEL, ITEM_APPR_ARMOR_MODEL_TORSO))); + if (iAC==0) sRequired = "ZEP_CR_CLOTH"; + if (iAC>=1 && iAC<=3) sRequired = "ZEP_CR_LEATHER"; + if (iAC>=4 && iAC<=5) sRequired = "ZEP_CR_SCALE"; + if (iAC>=6 && iAC<=8) sRequired = "ZEP_CR_METAL"; + } + + object oNPC = GetLocalObject(oPC, "ZEP_CR_NPC"); + if (GetIsObjectValid(oNPC)) { + if (GetLocalInt(oNPC, sRequired) == 1) + return FALSE; + SetCustomToken(ZEP_CR_TOKENBASE+4, "This craftsman cannot modify your current equipped armor or helmet"); + return TRUE; + } else if (ZEP_CR_REQUIRE_PLACEABLE) { + int i=1; + object oPlaceable = GetNearestObjectByTag(ZEP_CR_PLACEABLE_TAG, oPC, 1); + while (GetIsObjectValid(oPlaceable) && GetArea(oPC) == GetArea(oPlaceable) + && GetDistanceBetween(oPC, oPlaceable) <= ZEP_CR_REQUIRED_DISTANCE) { + if (GetLocalInt(oPlaceable, sRequired) == 1) + return FALSE; + oPlaceable = GetNearestObjectByTag(ZEP_CR_PLACEABLE_TAG, oPC, ++i); + } + SetCustomToken(ZEP_CR_TOKENBASE+4, "You're not near the proper tool to craft your armor or helmet"); + return TRUE; + } + return FALSE; +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_canch.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_canch.ncs new file mode 100644 index 0000000..12127cc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_canch.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_canch.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_canch.nss new file mode 100644 index 0000000..f6f8125 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_canch.nss @@ -0,0 +1,31 @@ +#include "zep_inc_craft" + +int StartingConditional() { + object oPC = GetPCSpeaker(); + object oHelmet = GetItemInSlot(INVENTORY_SLOT_HEAD, oPC); + if (!GetIsObjectValid(oHelmet) || GetPlotFlag(oHelmet)) + return FALSE; + + if (GetIsDM(oPC)) return TRUE; + + string sRequired = "ZEP_CR_HELMET"; + object oNPC = GetLocalObject(oPC, "ZEP_CR_NPC"); + if (GetIsObjectValid(oNPC)) { + if (GetLocalInt(oNPC, sRequired) == 1) + return TRUE; + else return FALSE; + + } else if (ZEP_CR_REQUIRE_PLACEABLE) { + int i=1; + object oPlaceable = GetNearestObjectByTag(ZEP_CR_PLACEABLE_TAG, oPC, 1); + while (GetIsObjectValid(oPlaceable) && GetArea(oPC) == GetArea(oPlaceable) + && GetDistanceBetween(oPC, oPlaceable) <= ZEP_CR_REQUIRED_DISTANCE) { + if (GetLocalInt(oPlaceable, sRequired) == 1) + return TRUE; + oPlaceable = GetNearestObjectByTag(ZEP_CR_PLACEABLE_TAG, oPC, ++i); + } + return FALSE; + } + return TRUE; +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_cancs.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_cancs.ncs new file mode 100644 index 0000000..b98df26 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_cancs.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_cancs.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_cancs.nss new file mode 100644 index 0000000..6060cab --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_cancs.nss @@ -0,0 +1,31 @@ +#include "zep_inc_craft" + +int StartingConditional() { + object oPC = GetPCSpeaker(); + object oShield = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC); + if (!GetIsObjectValid(oShield) || GetPlotFlag(oShield) || !ZEP_GetIsShield(oShield)) + return FALSE; + + if (GetIsDM(oPC)) return TRUE; + + string sRequired = "ZEP_CR_SHIELD"; + object oNPC = GetLocalObject(oPC, "ZEP_CR_NPC"); + if (GetIsObjectValid(oNPC)) { + if (GetLocalInt(oNPC, sRequired) == 1) + return TRUE; + else return FALSE; + + } else if (ZEP_CR_REQUIRE_PLACEABLE) { + int i=1; + object oPlaceable = GetNearestObjectByTag(ZEP_CR_PLACEABLE_TAG, oPC, 1); + while (GetIsObjectValid(oPlaceable) && GetArea(oPC) == GetArea(oPlaceable) + && GetDistanceBetween(oPC, oPlaceable) <= ZEP_CR_REQUIRED_DISTANCE) { + if (GetLocalInt(oPlaceable, sRequired) == 1) + return TRUE; + oPlaceable = GetNearestObjectByTag(ZEP_CR_PLACEABLE_TAG, oPC, ++i); + } + return FALSE; + } + return TRUE; +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_canct.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_canct.ncs new file mode 100644 index 0000000..5cac3ee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_canct.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_canct.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_canct.nss new file mode 100644 index 0000000..f6fc76f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_canct.nss @@ -0,0 +1,7 @@ +int StartingConditional() { + object oPC = GetPCSpeaker(); + if (GetIsObjectValid(GetLocalObject(oPC, "ZEP_CR_NPC"))) + return FALSE; + + return TRUE; +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_cancw.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_cancw.ncs new file mode 100644 index 0000000..35bed4d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_cancw.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_cancw.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_cancw.nss new file mode 100644 index 0000000..199b7e2 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_cancw.nss @@ -0,0 +1,71 @@ +#include "zep_inc_craft" + +int StartingConditional() { + object oPC = GetPCSpeaker(); + object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC); + if (!GetIsObjectValid(oWeapon) || GetPlotFlag(oWeapon) || IPGetIsIntelligentWeapon(oWeapon) || !ZEP_GetIsWeapon(oWeapon)) + return FALSE; + + if (GetIsDM(oPC)) return TRUE; + + string sRequired; + switch (GetBaseItemType(oWeapon)) { + case BASE_ITEM_BASTARDSWORD: + case BASE_ITEM_BATTLEAXE: + case BASE_ITEM_DAGGER: + case BASE_ITEM_DIREMACE: + case BASE_ITEM_DOUBLEAXE: + case BASE_ITEM_DWARVENWARAXE: + case BASE_ITEM_GREATAXE: + case BASE_ITEM_GREATSWORD: + case BASE_ITEM_HALBERD: + case BASE_ITEM_HEAVYFLAIL: + case BASE_ITEM_KAMA: + case BASE_ITEM_KATANA: + case BASE_ITEM_KUKRI: + case BASE_ITEM_LIGHTFLAIL: + case BASE_ITEM_LIGHTHAMMER: + case BASE_ITEM_LIGHTMACE: + case BASE_ITEM_LONGSWORD: + case BASE_ITEM_MORNINGSTAR: + case BASE_ITEM_RAPIER: + case BASE_ITEM_SCIMITAR: + case BASE_ITEM_SCYTHE: + case BASE_ITEM_SHORTSPEAR: + case BASE_ITEM_SHORTSWORD: + case BASE_ITEM_SICKLE: + case BASE_ITEM_THROWINGAXE: + case BASE_ITEM_TWOBLADEDSWORD: + case BASE_ITEM_WARHAMMER: sRequired = "ZEP_CR_METAL"; break; + + case BASE_ITEM_CLUB: + case BASE_ITEM_HEAVYCROSSBOW: + case BASE_ITEM_LIGHTCROSSBOW: + case BASE_ITEM_LONGBOW: + case BASE_ITEM_MAGICSTAFF: + case BASE_ITEM_QUARTERSTAFF: + case BASE_ITEM_SHORTBOW: sRequired = "ZEP_CR_WOOD"; break; + + case BASE_ITEM_SLING: + case BASE_ITEM_WHIP: sRequired = "ZEP_CR_LEATHER"; break; + } + + object oNPC = GetLocalObject(oPC, "ZEP_CR_NPC"); + if (GetIsObjectValid(oNPC)) { + if (GetLocalInt(oNPC, sRequired) == 1) + return TRUE; + else return FALSE; + } else if (ZEP_CR_REQUIRE_PLACEABLE) { + int i=1; + object oPlaceable = GetNearestObjectByTag(ZEP_CR_PLACEABLE_TAG, oPC, 1); + while (GetIsObjectValid(oPlaceable) && GetArea(oPC) == GetArea(oPlaceable) + && GetDistanceBetween(oPC, oPlaceable) <= ZEP_CR_REQUIRED_DISTANCE) { + if (GetLocalInt(oPlaceable, sRequired) == 1) + return TRUE; + oPlaceable = GetNearestObjectByTag(ZEP_CR_PLACEABLE_TAG, oPC, ++i); + } + return FALSE; + } + return TRUE; +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_cancw_n.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_cancw_n.ncs new file mode 100644 index 0000000..80d8f43 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_cancw_n.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_cancw_n.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_cancw_n.nss new file mode 100644 index 0000000..2a5d907 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_cancw_n.nss @@ -0,0 +1,83 @@ +#include "zep_inc_craft" + +int StartingConditional() { + object oPC = GetPCSpeaker(); + object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC); + if (!GetIsObjectValid(oWeapon) || GetPlotFlag(oWeapon) || IPGetIsIntelligentWeapon(oWeapon) || !ZEP_GetIsWeapon(oWeapon)) { + oWeapon = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC); + if (!GetIsObjectValid(oWeapon) || GetPlotFlag(oWeapon) || !ZEP_GetIsShield(oWeapon)) { + SetCustomToken(ZEP_CR_TOKENBASE+5, "You do not have any weapon or shield equipped to modify"); + return TRUE; + } + } + + if (GetIsDM(oPC)) return FALSE; + + string sRequired; + switch (GetBaseItemType(oWeapon)) { + case BASE_ITEM_BASTARDSWORD: + case BASE_ITEM_BATTLEAXE: + case BASE_ITEM_DAGGER: + case BASE_ITEM_DIREMACE: + case BASE_ITEM_DOUBLEAXE: + case BASE_ITEM_DWARVENWARAXE: + case BASE_ITEM_GREATAXE: + case BASE_ITEM_GREATSWORD: + case BASE_ITEM_HALBERD: + case BASE_ITEM_HEAVYFLAIL: + case BASE_ITEM_KAMA: + case BASE_ITEM_KATANA: + case BASE_ITEM_KUKRI: + case BASE_ITEM_LIGHTFLAIL: + case BASE_ITEM_LIGHTHAMMER: + case BASE_ITEM_LIGHTMACE: + case BASE_ITEM_LONGSWORD: + case BASE_ITEM_MORNINGSTAR: + case BASE_ITEM_RAPIER: + case BASE_ITEM_SCIMITAR: + case BASE_ITEM_SCYTHE: + case BASE_ITEM_SHORTSPEAR: + case BASE_ITEM_SHORTSWORD: + case BASE_ITEM_SICKLE: + case BASE_ITEM_THROWINGAXE: + case BASE_ITEM_TWOBLADEDSWORD: + case BASE_ITEM_WARHAMMER: sRequired = "ZEP_CR_METAL"; break; + + case BASE_ITEM_CLUB: + case BASE_ITEM_HEAVYCROSSBOW: + case BASE_ITEM_LIGHTCROSSBOW: + case BASE_ITEM_LONGBOW: + case BASE_ITEM_MAGICSTAFF: + case BASE_ITEM_QUARTERSTAFF: + case BASE_ITEM_SHORTBOW: sRequired = "ZEP_CR_WOOD"; break; + + case BASE_ITEM_SLING: + case BASE_ITEM_WHIP: sRequired = "ZEP_CR_LEATHER"; break; + + case BASE_ITEM_SMALLSHIELD: + case BASE_ITEM_LARGESHIELD: + case BASE_ITEM_TOWERSHIELD: sRequired = "ZEP_CR_SHIELD"; break; + } + + object oNPC = GetLocalObject(oPC, "ZEP_CR_NPC"); + if (GetIsObjectValid(oNPC)) { + if (GetLocalInt(oNPC, sRequired) == 1) + return FALSE; + SetCustomToken(ZEP_CR_TOKENBASE+5, "This craftsman cannot modify your current equipped armor or helmet"); + return TRUE; + + } else if (ZEP_CR_REQUIRE_PLACEABLE) { + int i=1; + object oPlaceable = GetNearestObjectByTag(ZEP_CR_PLACEABLE_TAG, oPC, 1); + while (GetIsObjectValid(oPlaceable) && GetArea(oPC) == GetArea(oPlaceable) + && GetDistanceBetween(oPC, oPlaceable) <= ZEP_CR_REQUIRED_DISTANCE) { + if (GetLocalInt(oPlaceable, sRequired) == 1) + return FALSE; + oPlaceable = GetNearestObjectByTag(ZEP_CR_PLACEABLE_TAG, oPC, ++i); + } + SetCustomToken(ZEP_CR_TOKENBASE+5, "You're not near the proper tool to craft your weapon or shield"); + return TRUE; + } + return FALSE; +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_changed.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_changed.ncs new file mode 100644 index 0000000..b57b0d2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_changed.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_changed.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_changed.nss new file mode 100644 index 0000000..3b3fef2 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_changed.nss @@ -0,0 +1,3 @@ +int StartingConditional() { + return (GetLocalInt(GetPCSpeaker(), "ZEP_CR_CHANGED")); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dial_npc.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_dial_npc.ncs new file mode 100644 index 0000000..b1d9935 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_dial_npc.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dial_npc.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_dial_npc.nss new file mode 100644 index 0000000..ac2e403 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_dial_npc.nss @@ -0,0 +1,6 @@ +void main() { + object oPC = GetPCSpeaker(); + object oNPC = OBJECT_SELF; + SetLocalObject(oPC, "ZEP_CR_NPC", oNPC); + AssignCommand(oPC, ActionStartConversation(oNPC, "x0_skill_ctrap", TRUE, FALSE)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dialogue.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_dialogue.ncs new file mode 100644 index 0000000..721ded7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_dialogue.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dialogue.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_dialogue.nss new file mode 100644 index 0000000..9649406 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_dialogue.nss @@ -0,0 +1,4 @@ +void main() { + object oPC = GetLastUsedBy(); + AssignCommand(oPC, ActionStartConversation(oPC, "x0_skill_ctrap", TRUE, FALSE)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dobelt.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_dobelt.ncs new file mode 100644 index 0000000..601382a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_dobelt.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dobelt.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_dobelt.nss new file mode 100644 index 0000000..71d98cd --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_dobelt.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_MODEL_BELT, 6745); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dobicep_l.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_dobicep_l.ncs new file mode 100644 index 0000000..ae4e30e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_dobicep_l.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dobicep_l.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_dobicep_l.nss new file mode 100644 index 0000000..db66461 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_dobicep_l.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_MODEL_LBICEP, 7151); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dobicep_r.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_dobicep_r.ncs new file mode 100644 index 0000000..c1fa810 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_dobicep_r.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dobicep_r.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_dobicep_r.nss new file mode 100644 index 0000000..94cf535 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_dobicep_r.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_MODEL_RBICEP, 7147); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_doccloth1.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_doccloth1.ncs new file mode 100644 index 0000000..f4b06e8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_doccloth1.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_doccloth1.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_doccloth1.nss new file mode 100644 index 0000000..2120396 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_doccloth1.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_COLOR_CLOTH1, 1); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_doccloth2.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_doccloth2.ncs new file mode 100644 index 0000000..ba5d6e4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_doccloth2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_doccloth2.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_doccloth2.nss new file mode 100644 index 0000000..4f5eb29 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_doccloth2.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_COLOR_CLOTH2, 1); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_docleath1.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_docleath1.ncs new file mode 100644 index 0000000..454da64 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_docleath1.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_docleath1.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_docleath1.nss new file mode 100644 index 0000000..deb70c6 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_docleath1.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_COLOR_LEATHER1, 1); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_docleath2.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_docleath2.ncs new file mode 100644 index 0000000..c7a7c44 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_docleath2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_docleath2.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_docleath2.nss new file mode 100644 index 0000000..5cde377 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_docleath2.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_COLOR_LEATHER2, 1); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_docmetal1.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_docmetal1.ncs new file mode 100644 index 0000000..93b91a7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_docmetal1.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_docmetal1.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_docmetal1.nss new file mode 100644 index 0000000..0adfbdb --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_docmetal1.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_COLOR_METAL1, 1); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_docmetal2.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_docmetal2.ncs new file mode 100644 index 0000000..868bbe1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_docmetal2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_docmetal2.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_docmetal2.nss new file mode 100644 index 0000000..a23fda3 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_docmetal2.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_COLOR_METAL2, 1); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dofoot_l.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_dofoot_l.ncs new file mode 100644 index 0000000..33b1a43 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_dofoot_l.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dofoot_l.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_dofoot_l.nss new file mode 100644 index 0000000..ca27ecf --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_dofoot_l.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_MODEL_LFOOT, 83345); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dofoot_r.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_dofoot_r.ncs new file mode 100644 index 0000000..40a27a4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_dofoot_r.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dofoot_r.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_dofoot_r.nss new file mode 100644 index 0000000..e38394f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_dofoot_r.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_MODEL_RFOOT, 83346); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dohand_l.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_dohand_l.ncs new file mode 100644 index 0000000..d1cb15f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_dohand_l.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dohand_l.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_dohand_l.nss new file mode 100644 index 0000000..25f7d76 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_dohand_l.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_MODEL_LHAND, 7145); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dohand_r.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_dohand_r.ncs new file mode 100644 index 0000000..4deae91 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_dohand_r.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dohand_r.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_dohand_r.nss new file mode 100644 index 0000000..e009bfe --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_dohand_r.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_MODEL_RHAND, 7153); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_doloarm_l.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_doloarm_l.ncs new file mode 100644 index 0000000..7b19e19 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_doloarm_l.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_doloarm_l.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_doloarm_l.nss new file mode 100644 index 0000000..bf1c7d4 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_doloarm_l.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_MODEL_LFOREARM, 7152); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_doloarm_r.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_doloarm_r.ncs new file mode 100644 index 0000000..b97558c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_doloarm_r.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_doloarm_r.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_doloarm_r.nss new file mode 100644 index 0000000..fa39f16 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_doloarm_r.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_MODEL_RFOREARM, 7148); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_doneck.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_doneck.ncs new file mode 100644 index 0000000..9702fe4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_doneck.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_doneck.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_doneck.nss new file mode 100644 index 0000000..579abbe --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_doneck.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_MODEL_NECK, 7143); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dopelvis.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_dopelvis.ncs new file mode 100644 index 0000000..ada6612 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_dopelvis.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dopelvis.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_dopelvis.nss new file mode 100644 index 0000000..5d4dbb0 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_dopelvis.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_MODEL_PELVIS, 7145); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dorobe.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_dorobe.ncs new file mode 100644 index 0000000..836e5d3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_dorobe.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dorobe.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_dorobe.nss new file mode 100644 index 0000000..0012a6c --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_dorobe.nss @@ -0,0 +1,8 @@ +#include "zep_inc_craft" + +void main() { + object oPC = GetPCSpeaker(); + object oArmor = GetItemInSlot(INVENTORY_SLOT_CHEST, oPC); + ZEP_StartCraft(oPC, oArmor); + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_MODEL_ROBE, 107993); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_doshin_l.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_doshin_l.ncs new file mode 100644 index 0000000..73a2bd9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_doshin_l.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_doshin_l.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_doshin_l.nss new file mode 100644 index 0000000..0361724 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_doshin_l.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_MODEL_LSHIN, 83348); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_doshin_r.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_doshin_r.ncs new file mode 100644 index 0000000..573b9a0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_doshin_r.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_doshin_r.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_doshin_r.nss new file mode 100644 index 0000000..f3ed41b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_doshin_r.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_MODEL_RSHIN, 83349); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_doshold_l.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_doshold_l.ncs new file mode 100644 index 0000000..e210ddf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_doshold_l.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_doshold_l.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_doshold_l.nss new file mode 100644 index 0000000..966f83e --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_doshold_l.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_MODEL_LSHOULDER, 7150); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_doshold_r.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_doshold_r.ncs new file mode 100644 index 0000000..4d9745c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_doshold_r.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_doshold_r.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_doshold_r.nss new file mode 100644 index 0000000..b7bf9f2 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_doshold_r.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_MODEL_RSHOULDER, 7146); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dothigh_l.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_dothigh_l.ncs new file mode 100644 index 0000000..ecaee34 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_dothigh_l.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dothigh_l.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_dothigh_l.nss new file mode 100644 index 0000000..a5b3dda --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_dothigh_l.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_MODEL_LTHIGH, 83350); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dothigh_r.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_dothigh_r.ncs new file mode 100644 index 0000000..c38d6e8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_dothigh_r.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dothigh_r.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_dothigh_r.nss new file mode 100644 index 0000000..d29300a --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_dothigh_r.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_MODEL_RTHIGH, 83351); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dotorso.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_dotorso.ncs new file mode 100644 index 0000000..26e1ac3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_dotorso.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dotorso.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_dotorso.nss new file mode 100644 index 0000000..f14add4 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_dotorso.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_ARMOR_MODEL_TORSO, 7144); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dowbottom.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_dowbottom.ncs new file mode 100644 index 0000000..3abacce Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_dowbottom.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dowbottom.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_dowbottom.nss new file mode 100644 index 0000000..e0db4da --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_dowbottom.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_WEAPON_MODEL_BOTTOM, 84542); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dowmiddle.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_dowmiddle.ncs new file mode 100644 index 0000000..5469824 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_dowmiddle.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dowmiddle.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_dowmiddle.nss new file mode 100644 index 0000000..fbbf67f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_dowmiddle.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_WEAPON_MODEL_MIDDLE, 84541); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dowtop.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_dowtop.ncs new file mode 100644 index 0000000..79afaa3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_dowtop.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_dowtop.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_dowtop.nss new file mode 100644 index 0000000..23d4010 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_dowtop.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_SetPart(GetPCSpeaker(), ITEM_APPR_WEAPON_MODEL_TOP, 84540); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_fail.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_fail.ncs new file mode 100644 index 0000000..0982850 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_fail.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_fail.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_fail.nss new file mode 100644 index 0000000..df0b0d3 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_fail.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +int StartingConditional() { + return (GetLocalInt(GetPCSpeaker(), "ZEP_CR_DONE") == ZEP_CR_DONE_FAILED); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_fail_dye.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_fail_dye.ncs new file mode 100644 index 0000000..62af4bf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_fail_dye.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_fail_dye.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_fail_dye.nss new file mode 100644 index 0000000..688e08b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_fail_dye.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +int StartingConditional() { + return (GetLocalInt(GetPCSpeaker(), "ZEP_CR_DONE") == ZEP_CR_DONE_NODYE); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_fail_gold.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_fail_gold.ncs new file mode 100644 index 0000000..7a978c3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_fail_gold.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_fail_gold.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_fail_gold.nss new file mode 100644 index 0000000..12ae114 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_fail_gold.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +int StartingConditional() { + return (GetLocalInt(GetPCSpeaker(), "ZEP_CR_DONE") == ZEP_CR_DONE_NOGOLD); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_nextcolor.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_nextcolor.ncs new file mode 100644 index 0000000..6551487 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_nextcolor.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_nextcolor.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_nextcolor.nss new file mode 100644 index 0000000..fb35f09 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_nextcolor.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_RecolorItem(GetPCSpeaker(), ZEP_CR_COLOR_NEXT); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_nextpart.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_nextpart.ncs new file mode 100644 index 0000000..0928d11 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_nextpart.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_nextpart.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_nextpart.nss new file mode 100644 index 0000000..50e7d8f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_nextpart.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_RemakeItem(GetPCSpeaker(), ZEP_CR_PART_NEXT); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_nocheat.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_nocheat.ncs new file mode 100644 index 0000000..4164802 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_nocheat.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_nocheat.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_nocheat.nss new file mode 100644 index 0000000..130cef1 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_nocheat.nss @@ -0,0 +1,22 @@ +void ZEP_PurifyItem(object oItem) { + if (GetLocalInt(oItem, "ZEP_CR_TEMPITEM")) { + PrintString("Destroyed: "+GetName(oItem)); + DestroyObject(oItem); + } +} + +void main() { + object oPC = GetEnteringObject(); + if (GetLocalInt(oPC, "ZEP_CR_STARTED")) { + ZEP_PurifyItem(GetItemInSlot(INVENTORY_SLOT_CHEST, oPC)); + ZEP_PurifyItem(GetItemInSlot(INVENTORY_SLOT_HEAD, oPC)); + ZEP_PurifyItem(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC)); + ZEP_PurifyItem(GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC)); + object oItem = GetFirstItemInInventory(oPC); + while (GetIsObjectValid(oItem)) { + ZEP_PurifyItem(oItem); + oItem = GetNextItemInInventory(oPC); + } + DeleteLocalInt(oPC, "ZEP_CR_STARTED"); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_prevcolor.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_prevcolor.ncs new file mode 100644 index 0000000..52b349b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_prevcolor.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_prevcolor.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_prevcolor.nss new file mode 100644 index 0000000..45c3ef0 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_prevcolor.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_RecolorItem(GetPCSpeaker(), ZEP_CR_COLOR_PREV); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_prevpart.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_prevpart.ncs new file mode 100644 index 0000000..72dc4ee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_prevpart.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_prevpart.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_prevpart.nss new file mode 100644 index 0000000..0ce2f09 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_prevpart.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_RemakeItem(GetPCSpeaker(), ZEP_CR_PART_PREV); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_start_ca.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_start_ca.ncs new file mode 100644 index 0000000..6576461 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_start_ca.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_start_ca.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_start_ca.nss new file mode 100644 index 0000000..b90c326 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_start_ca.nss @@ -0,0 +1,7 @@ +#include "zep_inc_craft" + +void main() { + object oPC = GetPCSpeaker(); + object oArmor = GetItemInSlot(INVENTORY_SLOT_CHEST, oPC); + ZEP_StartCraft(oPC, oArmor); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_start_ch.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_start_ch.ncs new file mode 100644 index 0000000..d64d269 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_start_ch.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_start_ch.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_start_ch.nss new file mode 100644 index 0000000..ceadd10 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_start_ch.nss @@ -0,0 +1,8 @@ +#include "zep_inc_craft" + +void main() { + object oPC = GetPCSpeaker(); + object oHelmet = GetItemInSlot(INVENTORY_SLOT_HEAD, oPC); + ZEP_StartCraft(oPC, oHelmet); + ZEP_SetPart(oPC, ZEP_CR_HELMET, 182); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_start_cs.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_start_cs.ncs new file mode 100644 index 0000000..3f1c181 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_start_cs.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_start_cs.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_start_cs.nss new file mode 100644 index 0000000..f77bbfa --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_start_cs.nss @@ -0,0 +1,8 @@ +#include "zep_inc_craft" + +void main() { + object oPC = GetPCSpeaker(); + object oShield = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC); + ZEP_StartCraft(oPC, oShield); + ZEP_SetPart(oPC, ZEP_CR_SHIELD, 57); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_start_cw.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_start_cw.ncs new file mode 100644 index 0000000..2ad1e91 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_start_cw.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_start_cw.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_start_cw.nss new file mode 100644 index 0000000..664a00d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_start_cw.nss @@ -0,0 +1,7 @@ +#include "zep_inc_craft" + +void main() { + object oPC = GetPCSpeaker(); + object oArmor = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC); + ZEP_StartCraft(oPC, oArmor); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_stop_abrt.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_stop_abrt.ncs new file mode 100644 index 0000000..fe65b7b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_stop_abrt.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_stop_abrt.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_stop_abrt.nss new file mode 100644 index 0000000..fac0bbc --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_stop_abrt.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_StopCraft(GetPCSpeaker(), FALSE); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_stop_make.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_stop_make.ncs new file mode 100644 index 0000000..4dc2204 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_stop_make.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_stop_make.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_stop_make.nss new file mode 100644 index 0000000..faf1782 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_stop_make.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +void main() { + ZEP_StopCraft(GetPCSpeaker(), TRUE); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_success.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cr_success.ncs new file mode 100644 index 0000000..1bfdf67 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cr_success.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cr_success.nss b/cep_blueprints/_hak/prc_add_sb/zep_cr_success.nss new file mode 100644 index 0000000..ec4ecb6 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cr_success.nss @@ -0,0 +1,5 @@ +#include "zep_inc_craft" + +int StartingConditional() { + return (GetLocalInt(GetPCSpeaker(), "ZEP_CR_DONE") == ZEP_CR_DONE_SUCCESS); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crab1.utc b/cep_blueprints/_hak/prc_add_sb/zep_crab1.utc new file mode 100644 index 0000000..f4391c7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crab1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crab2.utc b/cep_blueprints/_hak/prc_add_sb/zep_crab2.utc new file mode 100644 index 0000000..aeaca7b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crab2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crab3.utc b/cep_blueprints/_hak/prc_add_sb/zep_crab3.utc new file mode 100644 index 0000000..b90ee4c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crab3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crab4.utc b/cep_blueprints/_hak/prc_add_sb/zep_crab4.utc new file mode 100644 index 0000000..e5c3b6c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crab4.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crab5.utc b/cep_blueprints/_hak/prc_add_sb/zep_crab5.utc new file mode 100644 index 0000000..72e24bd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crab5.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crab6.utc b/cep_blueprints/_hak/prc_add_sb/zep_crab6.utc new file mode 100644 index 0000000..c71960d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crab6.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crab7.utc b/cep_blueprints/_hak/prc_add_sb/zep_crab7.utc new file mode 100644 index 0000000..d3e4817 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crab7.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crabflag.utp b/cep_blueprints/_hak/prc_add_sb/zep_crabflag.utp new file mode 100644 index 0000000..c8f7fab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crabflag.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crack002.utp b/cep_blueprints/_hak/prc_add_sb/zep_crack002.utp new file mode 100644 index 0000000..7dab2fe Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crack002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crack003.utp b/cep_blueprints/_hak/prc_add_sb/zep_crack003.utp new file mode 100644 index 0000000..ff83d31 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crack003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crack004.utp b/cep_blueprints/_hak/prc_add_sb/zep_crack004.utp new file mode 100644 index 0000000..5db1262 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crack004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cradle.utp b/cep_blueprints/_hak/prc_add_sb/zep_cradle.utp new file mode 100644 index 0000000..3099a28 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cradle.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cran_blue.uti b/cep_blueprints/_hak/prc_add_sb/zep_cran_blue.uti new file mode 100644 index 0000000..90ea9cb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cran_blue.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crane_01.utc b/cep_blueprints/_hak/prc_add_sb/zep_crane_01.utc new file mode 100644 index 0000000..9fde2e4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crane_01.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crane_02.utc b/cep_blueprints/_hak/prc_add_sb/zep_crane_02.utc new file mode 100644 index 0000000..f9563f0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crane_02.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crane_03.utc b/cep_blueprints/_hak/prc_add_sb/zep_crane_03.utc new file mode 100644 index 0000000..35a1058 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crane_03.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crane_04.utc b/cep_blueprints/_hak/prc_add_sb/zep_crane_04.utc new file mode 100644 index 0000000..f70e4cf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crane_04.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crane_05.utc b/cep_blueprints/_hak/prc_add_sb/zep_crane_05.utc new file mode 100644 index 0000000..0034432 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crane_05.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_craneflag.utp b/cep_blueprints/_hak/prc_add_sb/zep_craneflag.utp new file mode 100644 index 0000000..13738aa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_craneflag.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_craniumrat.utc b/cep_blueprints/_hak/prc_add_sb/zep_craniumrat.utc new file mode 100644 index 0000000..00b7eb1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_craniumrat.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_0d2c.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_0d2c.uti new file mode 100644 index 0000000..f804693 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_0d2c.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_arcbugh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_arcbugh.uti new file mode 100644 index 0000000..74b92e5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_arcbugh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_asnvins.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_asnvins.uti new file mode 100644 index 0000000..db55adf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_asnvins.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_barghh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_barghh.uti new file mode 100644 index 0000000..1ca9654 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_barghh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_bbath.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_bbath.uti new file mode 100644 index 0000000..d8fa62e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_bbath.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_bebilc.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_bebilc.uti new file mode 100644 index 0000000..7a14d6c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_bebilc.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_beetldb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_beetldb.uti new file mode 100644 index 0000000..848f1ce Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_beetldb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_beetlhb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_beetlhb.uti new file mode 100644 index 0000000..aac245a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_beetlhb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_beetlmb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_beetlmb.uti new file mode 100644 index 0000000..b61ffbb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_beetlmb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_beetltb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_beetltb.uti new file mode 100644 index 0000000..734c5a0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_beetltb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_beholdh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_beholdh.uti new file mode 100644 index 0000000..c2e0c12 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_beholdh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_bite0d1.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_bite0d1.uti new file mode 100644 index 0000000..c07222f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_bite0d1.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_bladelh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_bladelh.uti new file mode 100644 index 0000000..27917b0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_bladelh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_bonebb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_bonebb.uti new file mode 100644 index 0000000..84c96d4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_bonebb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_bskelh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_bskelh.uti new file mode 100644 index 0000000..cdb2bd7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_bskelh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_bskels.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_bskels.uti new file mode 100644 index 0000000..595e141 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_bskels.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_bugb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_bugb.uti new file mode 100644 index 0000000..1200752 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_bugb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_coldelh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_coldelh.uti new file mode 100644 index 0000000..713b750 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_coldelh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_coldlls.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_coldlls.uti new file mode 100644 index 0000000..6937f2a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_coldlls.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_coldlss.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_coldlss.uti new file mode 100644 index 0000000..a3ee96f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_coldlss.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_cornugc.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_cornugc.uti new file mode 100644 index 0000000..9e4c129 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_cornugc.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_cornugh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_cornugh.uti new file mode 100644 index 0000000..a7d5434 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_cornugh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_cornugs.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_cornugs.uti new file mode 100644 index 0000000..14b1fe4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_cornugs.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_crygols.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_crygols.uti new file mode 100644 index 0000000..c4e58ae Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_crygols.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_d10drb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_d10drb.uti new file mode 100644 index 0000000..ac58943 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_d10drb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_d3stngb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_d3stngb.uti new file mode 100644 index 0000000..2c818d5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_d3stngb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_d4poib.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_d4poib.uti new file mode 100644 index 0000000..342ae26 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_d4poib.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_d6massc.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_d6massc.uti new file mode 100644 index 0000000..9a6998a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_d6massc.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_d6stngb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_d6stngb.uti new file mode 100644 index 0000000..f8012c0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_d6stngb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_d8massc.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_d8massc.uti new file mode 100644 index 0000000..b480b20 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_d8massc.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_demilh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_demilh.uti new file mode 100644 index 0000000..d17d000 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_demilh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_doppelh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_doppelh.uti new file mode 100644 index 0000000..18a5f37 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_doppelh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_drgflgol.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_drgflgol.uti new file mode 100644 index 0000000..efec6fb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_drgflgol.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_driderb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_driderb.uti new file mode 100644 index 0000000..e446816 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_driderb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_dspdlb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_dspdlb.uti new file mode 100644 index 0000000..0ec89af Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_dspdlb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_emgolh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_emgolh.uti new file mode 100644 index 0000000..69c8254 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_emgolh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_emgols.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_emgols.uti new file mode 100644 index 0000000..7f5411b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_emgols.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_emtg.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_emtg.uti new file mode 100644 index 0000000..2f8b5b9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_emtg.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_eriny2h.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_eriny2h.uti new file mode 100644 index 0000000..1777975 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_eriny2h.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_erinyeh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_erinyeh.uti new file mode 100644 index 0000000..936e7dc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_erinyeh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_erinyrp.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_erinyrp.uti new file mode 100644 index 0000000..b1e0983 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_erinyrp.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_erinysw.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_erinysw.uti new file mode 100644 index 0000000..6f5bb5d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_erinysw.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_fantb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_fantb.uti new file mode 100644 index 0000000..b6d5eeb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_fantb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_feyrih.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_feyrih.uti new file mode 100644 index 0000000..fa1dc82 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_feyrih.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_firelhs.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_firelhs.uti new file mode 100644 index 0000000..71b1b69 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_firelhs.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_firells.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_firells.uti new file mode 100644 index 0000000..77f306a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_firells.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_firelss.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_firelss.uti new file mode 100644 index 0000000..2f1d9eb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_firelss.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_frogobh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_frogobh.uti new file mode 100644 index 0000000..267d720 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_frogobh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_gcorngc.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_gcorngc.uti new file mode 100644 index 0000000..708b26c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_gcorngc.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_gcorngh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_gcorngh.uti new file mode 100644 index 0000000..8523b2d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_gcorngh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_gcorngs.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_gcorngs.uti new file mode 100644 index 0000000..449fc3f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_gcorngs.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_gelugnh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_gelugnh.uti new file mode 100644 index 0000000..c81286f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_gelugnh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_gelugnt.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_gelugnt.uti new file mode 100644 index 0000000..4ed61b5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_gelugnt.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_ghamatc.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_ghamatc.uti new file mode 100644 index 0000000..5e3bcd0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_ghamatc.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_ghamath.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_ghamath.uti new file mode 100644 index 0000000..de7021f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_ghamath.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_glabrh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_glabrh.uti new file mode 100644 index 0000000..2e92df3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_glabrh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_golems.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_golems.uti new file mode 100644 index 0000000..0102523 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_golems.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_groozeh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_groozeh.uti new file mode 100644 index 0000000..d3c1783 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_groozeh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_hamatc.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_hamatc.uti new file mode 100644 index 0000000..5555184 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_hamatc.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_hamath.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_hamath.uti new file mode 100644 index 0000000..508aa56 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_hamath.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_hivemfb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_hivemfb.uti new file mode 100644 index 0000000..9dd7aee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_hivemfb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_hivemhb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_hivemhb.uti new file mode 100644 index 0000000..1cd3111 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_hivemhb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_hivemsb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_hivemsb.uti new file mode 100644 index 0000000..2a74c28 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_hivemsb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_hivemtb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_hivemtb.uti new file mode 100644 index 0000000..d53256c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_hivemtb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_icelhs.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_icelhs.uti new file mode 100644 index 0000000..ac84a7c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_icelhs.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_ighoulb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_ighoulb.uti new file mode 100644 index 0000000..830b27b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_ighoulb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_ighoulc.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_ighoulc.uti new file mode 100644 index 0000000..b1f43c8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_ighoulc.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_ighoulh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_ighoulh.uti new file mode 100644 index 0000000..356007c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_ighoulh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_ikobolh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_ikobolh.uti new file mode 100644 index 0000000..077f264 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_ikobolh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_illithb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_illithb.uti new file mode 100644 index 0000000..191c86d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_illithb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_leviatha.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_leviatha.uti new file mode 100644 index 0000000..c18d4c4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_leviatha.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_lninghs.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_lninghs.uti new file mode 100644 index 0000000..b6d0a23 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_lninghs.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_lninglh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_lninglh.uti new file mode 100644 index 0000000..5758f3f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_lninglh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_lningls.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_lningls.uti new file mode 100644 index 0000000..ea1845a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_lningls.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_lningss.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_lningss.uti new file mode 100644 index 0000000..4ceab00 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_lningss.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_lolthh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_lolthh.uti new file mode 100644 index 0000000..5bf5a7e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_lolthh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_lrgbugb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_lrgbugb.uti new file mode 100644 index 0000000..88d5206 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_lrgbugb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_lupnalh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_lupnalh.uti new file mode 100644 index 0000000..a1774de Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_lupnalh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_marilh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_marilh.uti new file mode 100644 index 0000000..3364073 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_marilh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_marils.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_marils.uti new file mode 100644 index 0000000..cb5bafd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_marils.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_maug2sw.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_maug2sw.uti new file mode 100644 index 0000000..d3f9d73 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_maug2sw.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_maugh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_maugh.uti new file mode 100644 index 0000000..8b435a7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_maugh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_maugpulv.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_maugpulv.uti new file mode 100644 index 0000000..6def179 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_maugpulv.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_maugwh4.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_maugwh4.uti new file mode 100644 index 0000000..996164d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_maugwh4.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_maugwh5.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_maugwh5.uti new file mode 100644 index 0000000..993ffd2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_maugwh5.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_mflayh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_mflayh.uti new file mode 100644 index 0000000..fda7acc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_mflayh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_mskels.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_mskels.uti new file mode 100644 index 0000000..fcb4a2f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_mskels.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_myconh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_myconh.uti new file mode 100644 index 0000000..8d950e5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_myconh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_mycons.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_mycons.uti new file mode 100644 index 0000000..de730c8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_mycons.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_ooze1s.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_ooze1s.uti new file mode 100644 index 0000000..10b2c68 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_ooze1s.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_ooze2s.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_ooze2s.uti new file mode 100644 index 0000000..d7b9bb5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_ooze2s.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_ooze3s.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_ooze3s.uti new file mode 100644 index 0000000..7f7f8d3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_ooze3s.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_oozeh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_oozeh.uti new file mode 100644 index 0000000..6c85869 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_oozeh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_osys.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_osys.uti new file mode 100644 index 0000000..e47ba55 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_osys.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_osyst.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_osyst.uti new file mode 100644 index 0000000..85e380d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_osyst.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_owlbh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_owlbh.uti new file mode 100644 index 0000000..a41ee86 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_owlbh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_pitfb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_pitfb.uti new file mode 100644 index 0000000..73152c2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_pitfb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_pitfh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_pitfh.uti new file mode 100644 index 0000000..b229057 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_pitfh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_planeth.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_planeth.uti new file mode 100644 index 0000000..8f16ac0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_planeth.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_plantsk.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_plantsk.uti new file mode 100644 index 0000000..50051c8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_plantsk.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_poisdc.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_poisdc.uti new file mode 100644 index 0000000..99a89a5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_poisdc.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_pspdlb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_pspdlb.uti new file mode 100644 index 0000000..bc7a828 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_pspdlb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_rubgolh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_rubgolh.uti new file mode 100644 index 0000000..e925444 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_rubgolh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_rubgols.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_rubgols.uti new file mode 100644 index 0000000..04c373d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_rubgols.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_salamh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_salamh.uti new file mode 100644 index 0000000..4853b78 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_salamh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_salams.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_salams.uti new file mode 100644 index 0000000..e1651fa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_salams.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_scarech.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_scarech.uti new file mode 100644 index 0000000..f263d05 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_scarech.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_scarecs.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_scarecs.uti new file mode 100644 index 0000000..2f076fa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_scarecs.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_shriekh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_shriekh.uti new file mode 100644 index 0000000..32d3628 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_shriekh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_skelh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_skelh.uti new file mode 100644 index 0000000..e470219 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_skelh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_snakeh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_snakeh.uti new file mode 100644 index 0000000..0cea040 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_snakeh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_sspdlb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_sspdlb.uti new file mode 100644 index 0000000..0da013c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_sspdlb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_thornb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_thornb.uti new file mode 100644 index 0000000..9f84064 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_thornb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_thornh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_thornh.uti new file mode 100644 index 0000000..6920925 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_thornh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_thorns.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_thorns.uti new file mode 100644 index 0000000..0813498 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_thorns.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_twigblc.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_twigblc.uti new file mode 100644 index 0000000..1ae052d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_twigblc.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_twigblh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_twigblh.uti new file mode 100644 index 0000000..56518ea Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_twigblh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_vecnah.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_vecnah.uti new file mode 100644 index 0000000..54b725f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_vecnah.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_vecnas.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_vecnas.uti new file mode 100644 index 0000000..00928af Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_vecnas.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_vegeh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_vegeh.uti new file mode 100644 index 0000000..4f25290 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_vegeh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_viperhb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_viperhb.uti new file mode 100644 index 0000000..009cfdc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_viperhb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_vipermb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_vipermb.uti new file mode 100644 index 0000000..82d7618 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_vipermb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_vipertb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_vipertb.uti new file mode 100644 index 0000000..e6a5ae9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_vipertb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_visag2c.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_visag2c.uti new file mode 100644 index 0000000..834c674 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_visag2c.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_visagec.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_visagec.uti new file mode 100644 index 0000000..1dcf6a2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_visagec.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_visageh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_visageh.uti new file mode 100644 index 0000000..7afd00c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_visageh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_waspb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_waspb.uti new file mode 100644 index 0000000..ee04cf4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_waspb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_wendigh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_wendigh.uti new file mode 100644 index 0000000..51c7e0a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_wendigh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_xornb.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_xornb.uti new file mode 100644 index 0000000..ec6d181 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_xornb.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_xornc.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_xornc.uti new file mode 100644 index 0000000..cf2de6b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_xornc.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_xornh.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_xornh.uti new file mode 100644 index 0000000..0682aa5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_xornh.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cre_zombih.uti b/cep_blueprints/_hak/prc_add_sb/zep_cre_zombih.uti new file mode 100644 index 0000000..db04195 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cre_zombih.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_croc_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_croc_001.utc new file mode 100644 index 0000000..b61cd93 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_croc_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_croc_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_croc_002.utc new file mode 100644 index 0000000..b444a97 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_croc_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_croc_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_croc_003.utc new file mode 100644 index 0000000..6f2a921 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_croc_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cross001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cross001.utp new file mode 100644 index 0000000..c314a36 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cross001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cross002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cross002.utp new file mode 100644 index 0000000..faec696 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cross002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cross003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cross003.utp new file mode 100644 index 0000000..abaf28c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cross003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cross004.utp b/cep_blueprints/_hak/prc_add_sb/zep_cross004.utp new file mode 100644 index 0000000..e6191c9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cross004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cryptroof.utp b/cep_blueprints/_hak/prc_add_sb/zep_cryptroof.utp new file mode 100644 index 0000000..9d79847 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cryptroof.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crysorb001.utp b/cep_blueprints/_hak/prc_add_sb/zep_crysorb001.utp new file mode 100644 index 0000000..8b14dda Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crysorb001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crysorb002.utp b/cep_blueprints/_hak/prc_add_sb/zep_crysorb002.utp new file mode 100644 index 0000000..67c4cf7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crysorb002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crysorb003.utp b/cep_blueprints/_hak/prc_add_sb/zep_crysorb003.utp new file mode 100644 index 0000000..ef644f6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crysorb003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crystal001.utp b/cep_blueprints/_hak/prc_add_sb/zep_crystal001.utp new file mode 100644 index 0000000..fb641ba Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crystal001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crystal002.utp b/cep_blueprints/_hak/prc_add_sb/zep_crystal002.utp new file mode 100644 index 0000000..745336d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crystal002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crystal003.utp b/cep_blueprints/_hak/prc_add_sb/zep_crystal003.utp new file mode 100644 index 0000000..d487685 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crystal003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crystal004.utp b/cep_blueprints/_hak/prc_add_sb/zep_crystal004.utp new file mode 100644 index 0000000..221f22f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crystal004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crystalball.uti b/cep_blueprints/_hak/prc_add_sb/zep_crystalball.uti new file mode 100644 index 0000000..6a9f1b1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crystalball.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crystaloozel.utc b/cep_blueprints/_hak/prc_add_sb/zep_crystaloozel.utc new file mode 100644 index 0000000..c0a1a1e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crystaloozel.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crystaloozem.utc b/cep_blueprints/_hak/prc_add_sb/zep_crystaloozem.utc new file mode 100644 index 0000000..9ab272b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crystaloozem.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_crystaloozes.utc b/cep_blueprints/_hak/prc_add_sb/zep_crystaloozes.utc new file mode 100644 index 0000000..5d6421d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_crystaloozes.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppa_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppa_001.utp new file mode 100644 index 0000000..7d5b8cd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppa_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppb_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppb_001.utp new file mode 100644 index 0000000..16339eb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppb_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppc_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppc_001.utp new file mode 100644 index 0000000..18f0eb3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppc_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppd_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppd_001.utp new file mode 100644 index 0000000..336f758 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppd_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppe_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppe_001.utp new file mode 100644 index 0000000..fc28b63 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppe_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppf_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppf_001.utp new file mode 100644 index 0000000..d24cc59 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppf_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppg_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppg_001.utp new file mode 100644 index 0000000..eb75668 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppg_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_pph_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_pph_001.utp new file mode 100644 index 0000000..a5438d4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_pph_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppi_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppi_001.utp new file mode 100644 index 0000000..298fc37 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppi_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppj_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppj_001.utp new file mode 100644 index 0000000..ef1f8da Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppj_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppk_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppk_001.utp new file mode 100644 index 0000000..f7ef875 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppk_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppl_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppl_001.utp new file mode 100644 index 0000000..d04671d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppl_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppm_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppm_001.utp new file mode 100644 index 0000000..f4835b7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppm_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppn_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppn_001.utp new file mode 100644 index 0000000..9086c12 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppn_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppo_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppo_001.utp new file mode 100644 index 0000000..62573c0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppo_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppp_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppp_001.utp new file mode 100644 index 0000000..9a023fc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppp_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppq_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppq_001.utp new file mode 100644 index 0000000..b742f53 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppq_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppr_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppr_001.utp new file mode 100644 index 0000000..31bab8b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppr_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_pps_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_pps_001.utp new file mode 100644 index 0000000..99fbc4f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_pps_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppt_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppt_001.utp new file mode 100644 index 0000000..deea425 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppt_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppu_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppu_001.utp new file mode 100644 index 0000000..d665f66 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppu_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppv_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppv_001.utp new file mode 100644 index 0000000..394ed28 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppv_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppw_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppw_001.utp new file mode 100644 index 0000000..e86347c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppw_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppx_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppx_001.utp new file mode 100644 index 0000000..fc61566 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppx_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppy_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppy_001.utp new file mode 100644 index 0000000..93c6357 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppy_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_ppz_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppz_001.utp new file mode 100644 index 0000000..80f1d74 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_ppz_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cs_sgt_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cs_sgt_001.utp new file mode 100644 index 0000000..b844314 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cs_sgt_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cup001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cup001.utp new file mode 100644 index 0000000..375cbdb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cup001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cup002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cup002.utp new file mode 100644 index 0000000..cdcb536 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cup002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cup003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cup003.utp new file mode 100644 index 0000000..2e320da Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cup003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cup01.utp b/cep_blueprints/_hak/prc_add_sb/zep_cup01.utp new file mode 100644 index 0000000..054637e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cup01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cushion001.utp b/cep_blueprints/_hak/prc_add_sb/zep_cushion001.utp new file mode 100644 index 0000000..d120bae Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cushion001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cushion002.utp b/cep_blueprints/_hak/prc_add_sb/zep_cushion002.utp new file mode 100644 index 0000000..9937d26 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cushion002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cushion003.utp b/cep_blueprints/_hak/prc_add_sb/zep_cushion003.utp new file mode 100644 index 0000000..d0add2d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cushion003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_autoport.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_autoport.ncs new file mode 100644 index 0000000..db85123 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_autoport.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_autoport.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_autoport.nss new file mode 100644 index 0000000..1b269da --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_autoport.nss @@ -0,0 +1,26 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Attempts to automatically set the portrait to + match the appearance +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; +int nApp = GetLocalInt(OBJECT_SELF, "CW_APP"); +int nPort = AppToPort(nApp); + +ActionPauseConversation(); +SetPortraitId(oTarget, nPort); +SetPortraitId(OBJECT_SELF, nPort); +DelayCommand(0.3, ActionResumeConversation()); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chaotic.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_chaotic.ncs new file mode 100644 index 0000000..b7ac5ae Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_chaotic.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chaotic.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_chaotic.nss new file mode 100644 index 0000000..00429cd --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_chaotic.nss @@ -0,0 +1,21 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Change alignment to chaotic +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; + +AdjustAlignment(oTarget, ALIGNMENT_CHAOTIC, 100); +ExecuteScript("zep_cw_con_talig", OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chapp.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_chapp.ncs new file mode 100644 index 0000000..ef43621 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_chapp.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chapp.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_chapp.nss new file mode 100644 index 0000000..36a0c5d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_chapp.nss @@ -0,0 +1,17 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set appearance to be changed +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalString(OBJECT_SELF, "CW_Change", "appearance"); +ExecuteScript("zep_cw_con_tlist", OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chcolor.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_chcolor.ncs new file mode 100644 index 0000000..36ff782 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_chcolor.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chcolor.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_chcolor.nss new file mode 100644 index 0000000..280609f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_chcolor.nss @@ -0,0 +1,50 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set color to be changed +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; +int iTail = GetCreatureTailType(oTarget); +int iApp = GetAppearanceType(oTarget); +int iCheck = FALSE; + +SetLocalString(OBJECT_SELF, "CW_Change", "color"); + +//If current appearance isn't an invisible model set to the default invisible model (838) +//Check BioWare range +if(iApp >= 569 && + iApp <= 868 ) + { + iCheck = TRUE; + } +//Check CEP range +else if(iApp >= 2600 && + iApp <= 2963) + { + iCheck = TRUE; + } + +if(iCheck == FALSE) + { + SetCreatureAppearanceType(oTarget, 838); + } + +//If current tail isn't a tintable model switch to the default tintable tail (4000) +if(iTail <= 3999 || + iTail >= 5000 ) + { + SetCreatureTailType(4000, oTarget); + FloatingTextStringOnCreature("Creature set to default tintable tail.", GetPCSpeaker(), FALSE); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chhair.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_chhair.ncs new file mode 100644 index 0000000..19384bf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_chhair.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chhair.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_chhair.nss new file mode 100644 index 0000000..627a06b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_chhair.nss @@ -0,0 +1,24 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set hair to be changed +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; +int nChannel = COLOR_CHANNEL_HAIR; +string sColor = IntToString(GetColor(oTarget, nChannel)); + +SetLocalInt(OBJECT_SELF, "CW_Channel", nChannel); +SetCustomToken(308, "hair"); +SetCustomToken(309, sColor); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chkport.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_chkport.ncs new file mode 100644 index 0000000..4f0618d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_chkport.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chkport.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_chkport.nss new file mode 100644 index 0000000..0147d2f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_chkport.nss @@ -0,0 +1,26 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Check to see if the portrait is being edited +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +int StartingConditional() +{ +struct CW2da data = Get2daData(); +string sChange = data.change; +int nResult = 0; + +if(sChange == "portrait") + { + nResult = 1; + } + +return nResult; +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chlvl.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_chlvl.ncs new file mode 100644 index 0000000..0975a03 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_chlvl.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chlvl.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_chlvl.nss new file mode 100644 index 0000000..6ccdc0c --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_chlvl.nss @@ -0,0 +1,17 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set level to be changed +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalString(OBJECT_SELF, "CW_Change", "level"); +ExecuteScript("zep_cw_con_tlist", OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chport.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_chport.ncs new file mode 100644 index 0000000..ee7f876 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_chport.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chport.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_chport.nss new file mode 100644 index 0000000..d174f1b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_chport.nss @@ -0,0 +1,41 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set portrait to be changed +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; +int nApp = GetAppearanceType(oTarget); +int nTail = GetCreatureTailType(oTarget); + +if(Get2DAString("appearance", "PORTRAIT", nApp) == "") + { + nApp = TailToApp(nTail); + } + +//Fix for Invisible Dragon appearances +else if(nApp >= 569 && + nApp <= 588) + { + nApp = TailToApp(nTail); + } +else if(nApp >= 2616 && + nApp <= 2635) + { + nApp = TailToApp(nTail); + } + +SetLocalInt(OBJECT_SELF, "CW_APP", nApp); +SetLocalString(OBJECT_SELF, "CW_Change", "portrait"); +ExecuteScript("zep_cw_con_tlist", OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chskin.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_chskin.ncs new file mode 100644 index 0000000..bcb2ff7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_chskin.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chskin.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_chskin.nss new file mode 100644 index 0000000..35c5484 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_chskin.nss @@ -0,0 +1,24 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set skin to be changed +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; +int nChannel = COLOR_CHANNEL_SKIN; +string sColor = IntToString(GetColor(oTarget, nChannel)); + +SetLocalInt(OBJECT_SELF, "CW_Channel", nChannel); +SetCustomToken(308, "skin"); +SetCustomToken(309, sColor); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chtail.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_chtail.ncs new file mode 100644 index 0000000..d946cb8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_chtail.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chtail.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_chtail.nss new file mode 100644 index 0000000..8b9a1af --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_chtail.nss @@ -0,0 +1,17 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set tail to be changed +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalString(OBJECT_SELF, "CW_Change", "tail"); +ExecuteScript("zep_cw_con_tlist", OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chtattoo1.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_chtattoo1.ncs new file mode 100644 index 0000000..f35d0ac Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_chtattoo1.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chtattoo1.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_chtattoo1.nss new file mode 100644 index 0000000..40a8f8f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_chtattoo1.nss @@ -0,0 +1,24 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set tattoo 1 to be changed +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; +int nChannel = COLOR_CHANNEL_TATTOO_1; +string sColor = IntToString(GetColor(oTarget, nChannel)); + +SetLocalInt(OBJECT_SELF, "CW_Channel", nChannel); +SetCustomToken(308, "tattoo 1"); +SetCustomToken(309, sColor); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chtattoo2.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_chtattoo2.ncs new file mode 100644 index 0000000..d901e44 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_chtattoo2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chtattoo2.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_chtattoo2.nss new file mode 100644 index 0000000..3383e00 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_chtattoo2.nss @@ -0,0 +1,24 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set tattoo 2 to be changed +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; +int nChannel = COLOR_CHANNEL_TATTOO_2; +string sColor = IntToString(GetColor(oTarget, nChannel)); + +SetLocalInt(OBJECT_SELF, "CW_Channel", nChannel); +SetCustomToken(308, "tattoo 2"); +SetCustomToken(309, sColor); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chvfx.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_chvfx.ncs new file mode 100644 index 0000000..65592d0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_chvfx.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chvfx.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_chvfx.nss new file mode 100644 index 0000000..53f6f94 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_chvfx.nss @@ -0,0 +1,18 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set vfx to be changed +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_VFX", 0); +SetLocalString(OBJECT_SELF, "CW_Change", "vfx"); +ExecuteScript("zep_cw_con_tlist", OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chwing.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_chwing.ncs new file mode 100644 index 0000000..08f8678 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_chwing.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_chwing.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_chwing.nss new file mode 100644 index 0000000..82ac8bd --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_chwing.nss @@ -0,0 +1,17 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set wings to be changed +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalString(OBJECT_SELF, "CW_Change", "wings"); +ExecuteScript("zep_cw_con_tlist", OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_aa.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_aa.ncs new file mode 100644 index 0000000..eef56ce Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_aa.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_aa.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_aa.nss new file mode 100644 index 0000000..d5ddb98 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_aa.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_ARCANE_ARCHER +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_ARCANE_ARCHER); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_aberr.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_aberr.ncs new file mode 100644 index 0000000..9e0722b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_aberr.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_aberr.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_aberr.nss new file mode 100644 index 0000000..8ed2208 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_aberr.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_ABERRATION +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_ABERRATION); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_animal.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_animal.ncs new file mode 100644 index 0000000..2cb7d35 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_animal.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_animal.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_animal.nss new file mode 100644 index 0000000..84365d9 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_animal.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_ANIMAL +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_ANIMAL); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_ass.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_ass.ncs new file mode 100644 index 0000000..abe4f40 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_ass.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_ass.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_ass.nss new file mode 100644 index 0000000..bcc0bc5 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_ass.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_ASSASSIN +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_ASSASSIN); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_barb.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_barb.ncs new file mode 100644 index 0000000..d97f4a5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_barb.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_barb.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_barb.nss new file mode 100644 index 0000000..48d4b06 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_barb.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_BARBARIAN +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_BARBARIAN); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_bard.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_bard.ncs new file mode 100644 index 0000000..829dd82 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_bard.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_bard.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_bard.nss new file mode 100644 index 0000000..f5bf0f9 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_bard.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_BARD +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_BARD); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_beast.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_beast.ncs new file mode 100644 index 0000000..13b059c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_beast.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_beast.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_beast.nss new file mode 100644 index 0000000..c2d72aa --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_beast.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_BEAST +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_BEAST); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_bguard.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_bguard.ncs new file mode 100644 index 0000000..bbcdaab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_bguard.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_bguard.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_bguard.nss new file mode 100644 index 0000000..6c72baf --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_bguard.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_BLACKGUARD +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_BLACKGUARD); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_cleric.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_cleric.ncs new file mode 100644 index 0000000..e378eae Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_cleric.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_cleric.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_cleric.nss new file mode 100644 index 0000000..d5602bd --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_cleric.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_CLERIC +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_CLERIC); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_common.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_common.ncs new file mode 100644 index 0000000..77ee139 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_common.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_common.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_common.nss new file mode 100644 index 0000000..337f6dc --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_common.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_COMMONER +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_COMMONER); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_constr.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_constr.ncs new file mode 100644 index 0000000..b91e610 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_constr.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_constr.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_constr.nss new file mode 100644 index 0000000..ab59f38 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_constr.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_CONSTRUCT +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_CONSTRUCT); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_divcha.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_divcha.ncs new file mode 100644 index 0000000..3210451 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_divcha.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_divcha.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_divcha.nss new file mode 100644 index 0000000..a4b4f07 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_divcha.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_DIVINE_CHAMPION +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_DIVINE_CHAMPION); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_dragon.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_dragon.ncs new file mode 100644 index 0000000..69bb7c4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_dragon.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_dragon.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_dragon.nss new file mode 100644 index 0000000..295f594 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_dragon.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_DRAGON +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_DRAGON); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_drdisc.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_drdisc.ncs new file mode 100644 index 0000000..a656cc7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_drdisc.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_drdisc.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_drdisc.nss new file mode 100644 index 0000000..eee3111 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_drdisc.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_DRAGON_DISCIPLE +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_DRAGON_DISCIPLE); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_druid.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_druid.ncs new file mode 100644 index 0000000..56184fa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_druid.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_druid.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_druid.nss new file mode 100644 index 0000000..2581683 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_druid.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_DRUID +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_DRUID); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_dwdef.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_dwdef.ncs new file mode 100644 index 0000000..d84b90d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_dwdef.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_dwdef.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_dwdef.nss new file mode 100644 index 0000000..31b9e8e --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_dwdef.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_DWARVEN_DEFENDER +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_DWARVEN_DEFENDER); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_elemen.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_elemen.ncs new file mode 100644 index 0000000..b9a7488 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_elemen.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_elemen.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_elemen.nss new file mode 100644 index 0000000..2ff9451 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_elemen.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_ELEMENTAL +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_ELEMENTAL); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_fey.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_fey.ncs new file mode 100644 index 0000000..196bc9a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_fey.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_fey.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_fey.nss new file mode 100644 index 0000000..5f53746 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_fey.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_FEY +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_FEY); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_fight.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_fight.ncs new file mode 100644 index 0000000..a85546f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_fight.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_fight.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_fight.nss new file mode 100644 index 0000000..cd82fe8 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_fight.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_FIGHTER +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_FIGHTER); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_giant.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_giant.ncs new file mode 100644 index 0000000..d3112d3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_giant.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_giant.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_giant.nss new file mode 100644 index 0000000..ac05a4f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_giant.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_GIANT +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_GIANT); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_harper.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_harper.ncs new file mode 100644 index 0000000..d00230d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_harper.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_harper.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_harper.nss new file mode 100644 index 0000000..5ee26fd --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_harper.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_HARPER +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_HARPER); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_human.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_human.ncs new file mode 100644 index 0000000..ea2b9ec Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_human.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_human.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_human.nss new file mode 100644 index 0000000..0d6dad7 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_human.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_HUMANOID +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_HUMANOID); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_mbeast.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_mbeast.ncs new file mode 100644 index 0000000..467c02b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_mbeast.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_mbeast.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_mbeast.nss new file mode 100644 index 0000000..7645fac --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_mbeast.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_MAGICAL_BEAST +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_MAGICAL_BEAST); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_monk.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_monk.ncs new file mode 100644 index 0000000..067eec6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_monk.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_monk.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_monk.nss new file mode 100644 index 0000000..18cdd0b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_monk.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_MONK +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_MONK); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_monst.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_monst.ncs new file mode 100644 index 0000000..52b096e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_monst.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_monst.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_monst.nss new file mode 100644 index 0000000..135a693 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_monst.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_MONSTROUS +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_MONSTROUS); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_ooze.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_ooze.ncs new file mode 100644 index 0000000..78891c8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_ooze.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_ooze.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_ooze.nss new file mode 100644 index 0000000..fff99b0 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_ooze.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_OOZE +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_OOZE); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_outsid.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_outsid.ncs new file mode 100644 index 0000000..3f8e20a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_outsid.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_outsid.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_outsid.nss new file mode 100644 index 0000000..f79df46 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_outsid.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_OUTSIDER +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_OUTSIDER); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_pala.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_pala.ncs new file mode 100644 index 0000000..099c68c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_pala.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_pala.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_pala.nss new file mode 100644 index 0000000..a414f5f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_pala.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_PALADIN +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_PALADIN); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_pdk.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_pdk.ncs new file mode 100644 index 0000000..f6d8890 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_pdk.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_pdk.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_pdk.nss new file mode 100644 index 0000000..a29059a --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_pdk.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_PURPLE_DRAGON_KNIGHT +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_PURPLE_DRAGON_KNIGHT); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_pm.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_pm.ncs new file mode 100644 index 0000000..543c212 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_pm.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_pm.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_pm.nss new file mode 100644 index 0000000..3b5e518 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_pm.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_PALE_MASTER +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_PALE_MASTER); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_ranger.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_ranger.ncs new file mode 100644 index 0000000..e457195 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_ranger.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_ranger.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_ranger.nss new file mode 100644 index 0000000..e4680f0 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_ranger.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_RANGER +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_RANGER); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_rogue.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_rogue.ncs new file mode 100644 index 0000000..0527b49 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_rogue.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_rogue.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_rogue.nss new file mode 100644 index 0000000..c31a23f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_rogue.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_ROGUE +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_ROGUE); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_shadow.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_shadow.ncs new file mode 100644 index 0000000..3981100 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_shadow.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_shadow.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_shadow.nss new file mode 100644 index 0000000..e627947 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_shadow.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_SHADOWDANCER +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_SHADOWDANCER); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_shape.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_shape.ncs new file mode 100644 index 0000000..3d3f99e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_shape.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_shape.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_shape.nss new file mode 100644 index 0000000..694f4a8 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_shape.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_SHAPECHANGER +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_SHAPECHANGER); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_shift.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_shift.ncs new file mode 100644 index 0000000..19f21ab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_shift.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_shift.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_shift.nss new file mode 100644 index 0000000..db37501 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_shift.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_SHIFTER +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_SHIFTER); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_sorc.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_sorc.ncs new file mode 100644 index 0000000..9dd0a2a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_sorc.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_sorc.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_sorc.nss new file mode 100644 index 0000000..235d5ed --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_sorc.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_SORCERER +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_SORCERER); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_undead.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_undead.ncs new file mode 100644 index 0000000..0e1f188 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_undead.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_undead.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_undead.nss new file mode 100644 index 0000000..90cc23a --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_undead.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_UNDEAD +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_UNDEAD); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_vermin.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_vermin.ncs new file mode 100644 index 0000000..15d6465 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_vermin.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_vermin.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_vermin.nss new file mode 100644 index 0000000..7f0b318 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_vermin.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_VERMIN +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_VERMIN); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_wiz.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_wiz.ncs new file mode 100644 index 0000000..62194d0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_wiz.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_wiz.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_wiz.nss new file mode 100644 index 0000000..cc6f052 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_wiz.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_WIZARD +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_WIZARD); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_wm.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_wm.ncs new file mode 100644 index 0000000..d3b5fd2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_wm.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_wm.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_wm.nss new file mode 100644 index 0000000..e131a65 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_cl_wm.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to CLASS_TYPE_WEAPON_MASTER +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Class", CLASS_TYPE_WEAPON_MASTER); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_commoner.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_commoner.ncs new file mode 100644 index 0000000..fdcbbce Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_commoner.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_commoner.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_commoner.nss new file mode 100644 index 0000000..c38f70a --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_commoner.nss @@ -0,0 +1,20 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Change to standard faction Commoner +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; + +ChangeToStandardFaction(oTarget, STANDARD_FACTION_COMMONER); +ChangeToStandardFaction(OBJECT_SELF, STANDARD_FACTION_COMMONER); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_con.dlg b/cep_blueprints/_hak/prc_add_sb/zep_cw_con.dlg new file mode 100644 index 0000000..a3e14fe Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_con.dlg differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_con_next.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_next.ncs new file mode 100644 index 0000000..1cc26d4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_next.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_con_next.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_next.nss new file mode 100644 index 0000000..e551c3a --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_next.nss @@ -0,0 +1,18 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Sets creature to the next valid part being + edited +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +SetNextValid(); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_con_prev.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_prev.ncs new file mode 100644 index 0000000..00cd9e4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_prev.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_con_prev.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_prev.nss new file mode 100644 index 0000000..85d9633 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_prev.nss @@ -0,0 +1,18 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Sets creature to the previous valid part being + edited +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +SetPrevValid(); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_con_talig.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_talig.ncs new file mode 100644 index 0000000..40951ef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_talig.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_con_talig.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_talig.nss new file mode 100644 index 0000000..8492569 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_talig.nss @@ -0,0 +1,53 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set the target's alignment as a conversation + token +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; +string sAlign; + +switch(GetAlignmentLawChaos(oTarget)) + { + case ALIGNMENT_CHAOTIC: + sAlign = "Chaotic"; + break; + case ALIGNMENT_LAWFUL: + sAlign = "Lawful"; + break; + default: + sAlign = "Neutral"; + break; + } + +switch(GetAlignmentGoodEvil(oTarget)) + { + case ALIGNMENT_EVIL: + sAlign = sAlign+" Evil"; + break; + case ALIGNMENT_GOOD: + sAlign = sAlign+" Good"; + break; + default: + sAlign = sAlign+" Neutral"; + break; + } + +if(sAlign == "Neutral Neutral") + { + sAlign = "True Neutral"; + } + +SetCustomToken(307, sAlign); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_con_tlist.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_tlist.ncs new file mode 100644 index 0000000..a4dfbc1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_tlist.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_con_tlist.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_tlist.nss new file mode 100644 index 0000000..427a22f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_tlist.nss @@ -0,0 +1,18 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Make a list of tokens for the Creature Wizard + conversation +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +TokenList(); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_con_tname.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_tname.ncs new file mode 100644 index 0000000..2a4ae8e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_tname.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_con_tname.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_tname.nss new file mode 100644 index 0000000..b786d7b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_con_tname.nss @@ -0,0 +1,21 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set the target's name as a conversation token +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; +string sName = GetName(oTarget); + +SetCustomToken(300, sName); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_copy.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_copy.ncs new file mode 100644 index 0000000..e925d4c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_copy.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_copy.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_copy.nss new file mode 100644 index 0000000..e8f147c --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_copy.nss @@ -0,0 +1,19 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Copy creature +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; + +CopyObject(oTarget, GetLocation(oTarget)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_cre.utc b/cep_blueprints/_hak/prc_add_sb/zep_cw_cre.utc new file mode 100644 index 0000000..4e77b30 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_cre.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_custtool.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_custtool.ncs new file mode 100644 index 0000000..8dd607e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_custtool.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_custtool.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_custtool.nss new file mode 100644 index 0000000..cf3a038 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_custtool.nss @@ -0,0 +1,39 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Custom tool script to start the CEP Creature + Wizard conversation. Rename to corresponding + custom tool script. (e.g. x3_dm_tool01) +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "x2_inc_switches" + +void main() +{ +object oPC = OBJECT_SELF; +object oTarget = GetSpellTargetObject(); +object oCW; + +//Check for a valid target +if(GetObjectType(oTarget) == OBJECT_TYPE_CREATURE) + { + oCW = CreateObject(OBJECT_TYPE_CREATURE, "zep_cw_cre", GetLocation(oPC)); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect(EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY)), oCW); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect(EffectCutsceneGhost()), oCW); + ChangeFaction(oCW, oTarget); + SetLocalObject(oCW, "CW_Target", oTarget); + SetPortraitResRef(oCW, GetPortraitResRef(oTarget)); + SetCustomToken(300, GetName(oTarget)); + AssignCommand(oPC, ClearAllActions(TRUE)); + AssignCommand(oPC, ActionStartConversation(oCW, "", TRUE, FALSE)); + } +else + { + FloatingTextStringOnCreature("Target must be a creature.", oPC, FALSE); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_defender.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_defender.ncs new file mode 100644 index 0000000..01aec1d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_defender.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_defender.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_defender.nss new file mode 100644 index 0000000..c4c5700 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_defender.nss @@ -0,0 +1,21 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Change to standard faction Defender +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; + +ChangeToStandardFaction(oTarget, STANDARD_FACTION_DEFENDER); +ChangeToStandardFaction(OBJECT_SELF, STANDARD_FACTION_COMMONER); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_evil.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_evil.ncs new file mode 100644 index 0000000..9cacc81 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_evil.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_evil.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_evil.nss new file mode 100644 index 0000000..6e8af0d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_evil.nss @@ -0,0 +1,21 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Change alignment to evil +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; + +AdjustAlignment(oTarget, ALIGNMENT_EVIL, 100); +ExecuteScript("zep_cw_con_talig", OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_good.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_good.ncs new file mode 100644 index 0000000..df4f923 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_good.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_good.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_good.nss new file mode 100644 index 0000000..13fc7a6 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_good.nss @@ -0,0 +1,21 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Change alignment to good +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; + +AdjustAlignment(oTarget, ALIGNMENT_GOOD, 100); +ExecuteScript("zep_cw_con_talig", OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_hostile.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_hostile.ncs new file mode 100644 index 0000000..468e4cb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_hostile.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_hostile.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_hostile.nss new file mode 100644 index 0000000..b8fc9a7 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_hostile.nss @@ -0,0 +1,21 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Change to standard faction Hostile +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; + +ChangeToStandardFaction(oTarget, STANDARD_FACTION_HOSTILE); +ChangeToStandardFaction(OBJECT_SELF, STANDARD_FACTION_COMMONER); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_inc.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_inc.ncs new file mode 100644 index 0000000..ecb1c72 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_inc.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_inc.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_inc.nss new file mode 100644 index 0000000..eebe71c --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_inc.nss @@ -0,0 +1,541 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + CEP Creature Wizard include file +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + + + +/********************************************************************** + * ABOUT THE CEP CREATURE WIZARD + **********************************************************************/ + /* + The CEP Creature Wizard item is an in-game creature customization DM tool. + Activate the tool and target the creature you want to edit. + + Name: CEP Creature Wizard + Tag: ZEP_CW_IT + ResRef: zep_cw_it + Location: *CEP 2.1 Custom Palette|*DM Specific|Miscellaneous + + NOTE: The tool item requires that tag-based scripting is enabled for + the module. + + Alternately, the file "zep_cw_custtool" can be renamed for use with the + 1.69 DM/Player Custom Tool feats. (e.g. x3_dm_tool01) +*/ + +/********************************************************************** + * EXPORTING THE CEP CREATURE WIZARD + **********************************************************************/ + /* + The following resources are needed for the CEP Creature Wizard: + + 2da file: cep2damax.2da (in hak pack or override) + + Creature: CEP Creature Wizard (ResRef: zep_cw_cre) + + Conversation: zep_cw_con + + Item: CEP Creature Wizard (ResRef: zep_cw_it) + + Scripts: All zep_cw_* scripts and zep_destroyself +*/ + +/********************************************************************** + * USING THE CREATURE WIZARD WITHOUT THE CEP + **********************************************************************/ +/* + To use the Creature Wizard without the CEP the following changes + should be made: + + 1. The change color and no glow invisible creature appearance options + should be disabled by putting the file "x2_con_false" in their + "Text Appears When..." tab as they will no longer function. + + 2. The max 2da values under in the CONSTANTS section must be changed. + Default 1.69 values have been provided. Delete the "CEP 2da Max Values" + and uncomment the "NWN 1.69 2da Max Values" to use them. + + 3. Change the tool item icon to a non-CEP icon. +*/ + + + +/********************************************************************** + * CONSTANTS + **********************************************************************/ + +object CW_TARGET = GetLocalObject(OBJECT_SELF, "CW_Target"); +string CW_CHANGE = GetLocalString(OBJECT_SELF, "CW_Change"); +int CW_CHANNEL = GetLocalInt(OBJECT_SELF, "CW_Channel"); + +//CEP 2da Max Values +int CW_APP_2DA_MAX = StringToInt(Get2DAString("cep2damax", "MAX", 1)); +int CW_PORT_2DA_MAX = StringToInt(Get2DAString("cep2damax", "MAX", 2)); +int CW_TAIL_2DA_MAX = StringToInt(Get2DAString("cep2damax", "MAX", 3)); +int CW_VFX_2DA_MAX = StringToInt(Get2DAString("cep2damax", "MAX", 4)); +int CW_WING_2DA_MAX = StringToInt(Get2DAString("cep2damax", "MAX", 5)); + +//NWN 1.69 2da Max Values +/* +int CW_APP_2DA_MAX = 870; +int CW_PORT_2DA_MAX = 1300; +int CW_TAIL_2DA_MAX = 490; +int CW_VFX_2DA_MAX = 672; +int CW_WING_2DA_MAX = 89; +*/ + +/********************************************************************** + * FUNCTION PROTOTYPES + **********************************************************************/ + +//struct for CW 2da functions +struct CW2da +{ + object target; + string change; + string file; + string column; + int max; + int current; +}; + +//Returns 2da data +struct CW2da Get2daData(); + +//Returns the last string heard by listener +string GetSpokenString(); + +//Sets the list of custom tokens for the Creature Wizard conversation +void TokenList(); + +//Returns the next valid 2da line +int GetNextValid(int nCurrent); + +//Returns the previous valid 2da line +int GetPrevValid(int nCurrent); + +//Returns the nearest valid 2da line +int GetNearestValid(int nCurrent); + +//Sets creature to the next valid part being customized +void SetNextValid(); + +//Sets creature to the previous valid part being customized +void SetPrevValid(); + +//Sets creature to the current valid part being customized +void SetCurrentValid(int nValid); + +//Convert appearance to matching tail +int AppToTail(int nApp); + +//Convert tail to matching appearance +int TailToApp(int nApp); + +//Convert appearance to matching portrait +int AppToPort(int nApp); + +//Levels oTtarget in iClass iLevel number of times +void LevelUp(object oTarget, int nClass, int nLevel); + + +/********************************************************************** + * FUNCTION DEFINITIONS + **********************************************************************/ + +struct CW2da Get2daData() +{ +struct CW2da ret; + +ret.target = CW_TARGET; +ret.change = CW_CHANGE; + +if(ret.change == "appearance") + { + ret.file = "appearance"; + ret.column = "LABEL"; + ret.max = CW_APP_2DA_MAX; + ret.current = GetAppearanceType(ret.target); + } +else if(ret.change == "portrait") + { + ret.file = "portraits"; + ret.column = "BaseResRef"; + ret.max = CW_PORT_2DA_MAX ; + ret.current = GetPortraitId(ret.target); + } +else if(ret.change == "tail") + { + ret.file = "tailmodel"; + ret.column = "LABEL"; + ret.max = CW_TAIL_2DA_MAX; + ret.current = GetCreatureTailType(ret.target); + } +else if(ret.change == "vfx") + { + ret.file = "visualeffects"; + ret.column = "Type_FD"; + ret.max = CW_VFX_2DA_MAX; + ret.current = GetLocalInt(OBJECT_SELF, "CW_VFX"); + } +else if(ret.change == "wings") + { + ret.file = "wingmodel"; + ret.column = "LABEL"; + ret.max = CW_WING_2DA_MAX; + ret.current = GetCreatureWingType(ret.target); + } +else if(ret.change == "color") + { + ret.file = ""; + ret.max = 175; + ret.current = GetColor(ret.target, CW_CHANNEL); + } +else if(ret.change == "level") + { + ret.file = "classes"; + ret.column = "Label"; + } + +return ret; +} + +string GetSpokenString() +{ +int nCount = 0; +int nMax = GetMatchedSubstringsCount(); +string sString; + +if(GetListenPatternNumber() == 0) + { + while(nCount= nMax) + { + return 0; + } + +nCurrent++; + +if(s2DA != "") + { + while(Get2DAString(s2DA, sColumn, nCurrent) == "") + { + if(nCurrent >= nMax) + { + return 0; + } + nCurrent++; + } + } + +return nCurrent; +} + +int GetPrevValid(int nCurrent) +{ +struct CW2da data = Get2daData(); +string s2DA = data.file; +string sColumn = data.column; +int nMax = data.max; + +if(nCurrent <= 0 || + nCurrent > nMax) + { + nCurrent = nMax; + } +else + { + nCurrent--; + } + +if(s2DA != "") + { + while(Get2DAString(s2DA, sColumn, nCurrent) == "") + { + if(nCurrent <= 0) + { + return 0; + } + nCurrent--; + } + } + +return nCurrent; +} + +int GetNearestValid(int nCurrent) +{ +struct CW2da data = Get2daData(); +string s2DA = data.file; +string sColumn = data.column; +string sChange = data.change; +int nValid = nCurrent; + +if(Get2DAString(s2DA, sColumn, nCurrent) == "" && + nCurrent != 0 && + sChange != "color") + { + nValid = GetNextValid(nCurrent); + + if(nValid-nCurrent > nCurrent-GetPrevValid(nCurrent)) + { + nValid = GetPrevValid(nCurrent); + } + } +return nValid; +} + +void SetNextValid() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; +int nValid = GetNextValid(data.current); + +SetCurrentValid(nValid); +} + +void SetPrevValid() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; +int nValid = GetPrevValid(data.current); + +SetCurrentValid(nValid); +} + +void SetCurrentValid(int nValid) +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; +string sChange = data.change; + +if(sChange == "appearance") + { + SetCreatureAppearanceType(oTarget, nValid); + } +else if(sChange == "portrait") + { + ActionPauseConversation(); + SetPortraitId(OBJECT_SELF, nValid); + SetPortraitId(oTarget, nValid); + DelayCommand(0.3, ActionResumeConversation()); + } +else if(sChange == "tail") + { + SetCreatureTailType(nValid, oTarget); + } +else if(sChange == "vfx") + { + SetLocalInt(OBJECT_SELF, "CW_VFX", nValid); + } +else if(sChange == "wings") + { + SetCreatureWingType(nValid, oTarget); + } +else if(sChange == "color") + { + ActionPauseConversation(); + int nApp = GetAppearanceType(oTarget); + SetCreatureAppearanceType(oTarget, 0); + SetColor(oTarget, CW_CHANNEL, nValid); + DelayCommand(1.0, SetCreatureAppearanceType(oTarget, nApp)); + DelayCommand(1.0, ActionResumeConversation()); + } +TokenList(); +} + +int AppToTail(int nApp) +{ +string sAppModel = GetStringLowerCase(Get2DAString("appearance", "RACE", nApp)); +int nTail = 0; +int nTailMax = CW_TAIL_2DA_MAX; +string sTailModel; +int nLine = 0; + +while(nTail <= nTailMax) + { + sTailModel = GetStringLowerCase(Get2DAString("tailmodel", "MODEL", nTail)); + if(sTailModel == sAppModel) + { + nLine = nTail; + break; + } + nTail++; + } + +if(nLine == 0) + { + nLine = 15; + } + +return nLine; +} + +int TailToApp(int nTail) +{ +string sTailModel = GetStringLowerCase(Get2DAString("tailmodel", "MODEL", nTail)); +int nApp = 0; +int nAppMax = CW_APP_2DA_MAX; +string sAppModel; +int nLine = 0; + +while(nApp <= nAppMax) + { + sAppModel = GetStringLowerCase(Get2DAString("appearance", "RACE", nApp)); + if(sAppModel == sTailModel) + { + nLine = nApp; + break; + } + nApp++; + } + +return nLine; +} + +int AppToPort(int nApp) +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; +int nPort = 0; +int nPortMax = CW_PORT_2DA_MAX; +string sPortResRef; +int nLine = 0; +string sPort = GetStringLowerCase(Get2DAString("appearance", "PORTRAIT", nApp)); + +if(sPort == "") + { + return nLine; + } + +while(nPort <= nPortMax) + { + sPortResRef = GetStringLowerCase(Get2DAString("portraits", "BaseResRef", nPort)); + if("po_"+sPortResRef == sPort+"_") + { + nLine = nPort; + break; + } + nPort++; + } + +return nLine; +} + +void LevelUp(object oTarget, int nClass, int nLevel) +{ +int nCount; + +if(nLevel <= 0) + { + nLevel = 1; + } +else if(nLevel > 39) + { + nLevel = 39; + } + +for(nCount = 0; nCount < nLevel; nCount++) + { + LevelUpHenchman(oTarget, nClass, TRUE); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_it.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_it.ncs new file mode 100644 index 0000000..3eafb74 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_it.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_it.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_it.nss new file mode 100644 index 0000000..2c537a3 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_it.nss @@ -0,0 +1,42 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Tag-based script to start the CEP Creature + Wizard conversation +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "x2_inc_switches" + +void main() +{ + +if(GetUserDefinedItemEventNumber() == X2_ITEM_EVENT_ACTIVATE) + { + object oPC = GetItemActivator(); + object oTarget = GetItemActivatedTarget(); + object oCW; + + //Check for a valid target + if(GetObjectType(oTarget) == OBJECT_TYPE_CREATURE) + { + oCW = CreateObject(OBJECT_TYPE_CREATURE, "zep_cw_cre", GetLocation(oPC)); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect(EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY)), oCW); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect(EffectCutsceneGhost()), oCW); + ChangeFaction(oCW, oTarget); + SetLocalObject(oCW, "CW_Target", oTarget); + SetPortraitResRef(oCW, GetPortraitResRef(oTarget)); + SetCustomToken(300, GetName(oTarget)); + AssignCommand(oPC, ClearAllActions(TRUE)); + AssignCommand(oPC, ActionStartConversation(oCW, "", TRUE, FALSE)); + } + else + { + FloatingTextStringOnCreature("Target must be a creature.", oPC, FALSE); + } + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_it.uti b/cep_blueprints/_hak/prc_add_sb/zep_cw_it.uti new file mode 100644 index 0000000..54b21f7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_it.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_lawful.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_lawful.ncs new file mode 100644 index 0000000..0feee5e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_lawful.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_lawful.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_lawful.nss new file mode 100644 index 0000000..5d89f1a --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_lawful.nss @@ -0,0 +1,21 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Change alignment to lawful +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; + +AdjustAlignment(oTarget, ALIGNMENT_LAWFUL, 100); +ExecuteScript("zep_cw_con_talig", OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_levelup.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_levelup.ncs new file mode 100644 index 0000000..79bacac Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_levelup.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_levelup.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_levelup.nss new file mode 100644 index 0000000..d2f8f38 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_levelup.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Level the creature up in the specified class +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +object oTarget = GetLocalObject(OBJECT_SELF, "CW_Target"); +int nClass = GetLocalInt(OBJECT_SELF, "CW_Class"); +int nLevel = StringToInt(GetSpokenString()); + +LevelUp(oTarget, nClass, nLevel); +TokenList(); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_listenon.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_listenon.ncs new file mode 100644 index 0000000..b9f4b60 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_listenon.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_listenon.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_listenon.nss new file mode 100644 index 0000000..da221b7 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_listenon.nss @@ -0,0 +1,17 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Turn listening on for the caller +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetListening(OBJECT_SELF, TRUE); +SetListenPattern(OBJECT_SELF, "**"); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_merchant.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_merchant.ncs new file mode 100644 index 0000000..06d2aa1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_merchant.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_merchant.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_merchant.nss new file mode 100644 index 0000000..21da019 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_merchant.nss @@ -0,0 +1,21 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Change to standard faction Merchant +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; + +ChangeToStandardFaction(oTarget, STANDARD_FACTION_MERCHANT); +ChangeToStandardFaction(OBJECT_SELF, STANDARD_FACTION_COMMONER); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_neutral.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_neutral.ncs new file mode 100644 index 0000000..5b71e3c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_neutral.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_neutral.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_neutral.nss new file mode 100644 index 0000000..f1482c1 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_neutral.nss @@ -0,0 +1,21 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Change alignment to neutral +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; + +AdjustAlignment(oTarget, ALIGNMENT_NEUTRAL, 100); +ExecuteScript("zep_cw_con_talig", OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_remvfx.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_remvfx.ncs new file mode 100644 index 0000000..cd9f848 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_remvfx.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_remvfx.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_remvfx.nss new file mode 100644 index 0000000..7ef4da4 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_remvfx.nss @@ -0,0 +1,34 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Remove all VFX +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; +object oCreator; +effect eVFX = GetFirstEffect(oTarget); +while(GetIsEffectValid(eVFX)) + { + if(GetEffectType(eVFX) == EFFECT_TYPE_VISUALEFFECT && + GetEffectSubType(eVFX) == SUBTYPE_SUPERNATURAL) + { + oCreator = GetEffectCreator(eVFX); + if(oCreator == OBJECT_SELF || + !GetIsObjectValid(oCreator)) + { + RemoveEffect(oTarget, eVFX); + } + } + eVFX = GetNextEffect(oTarget); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_dr.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_dr.ncs new file mode 100644 index 0000000..872075f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_dr.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_dr.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_dr.nss new file mode 100644 index 0000000..bd4951d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_dr.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to Invisible_Dragon_100 +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Scale", 578); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_dw.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_dw.ncs new file mode 100644 index 0000000..2bbacf8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_dw.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_dw.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_dw.nss new file mode 100644 index 0000000..2e56c2b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_dw.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to Invisible_Dwarf_Female_100 +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Scale", 598); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_el.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_el.ncs new file mode 100644 index 0000000..ed44b55 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_el.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_el.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_el.nss new file mode 100644 index 0000000..b312491 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_el.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to Invisible_Elf_Female_100 +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Scale", 618); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_glow.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_glow.ncs new file mode 100644 index 0000000..8d84186 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_glow.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_glow.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_glow.nss new file mode 100644 index 0000000..963dc20 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_glow.nss @@ -0,0 +1,31 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set appearance to the selected invisible model + and tail +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; +int nApp = GetAppearanceType(oTarget); +int nTail = GetCreatureTailType(oTarget); +int nScale = GetLocalInt(OBJECT_SELF, "CW_Scale"); + +SetCreatureAppearanceType(oTarget, nScale); +TokenList(); + +if(nTail <= 14 || + Get2DAString("tailmodel", "MODEL", nTail) == "") + { + DelayCommand(1.0, SetCreatureTailType(AppToTail(nApp), oTarget)); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_gn.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_gn.ncs new file mode 100644 index 0000000..56c7f01 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_gn.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_gn.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_gn.nss new file mode 100644 index 0000000..8116421 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_gn.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to Invisible_Gnome_Female_100 +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Scale", 638); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_ha.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_ha.ncs new file mode 100644 index 0000000..f0794d1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_ha.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_ha.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_ha.nss new file mode 100644 index 0000000..d34171e --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_ha.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to Invisible_Halfling_Female_100 +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Scale", 658); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_ho.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_ho.ncs new file mode 100644 index 0000000..0bb9a78 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_ho.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_ho.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_ho.nss new file mode 100644 index 0000000..651e03d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_ho.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to Invisible_Halforc_Female_100 +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Scale", 678); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_hu.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_hu.ncs new file mode 100644 index 0000000..2451598 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_hu.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_hu.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_hu.nss new file mode 100644 index 0000000..cc9c957 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_hu.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to Invisible_Human_Female_100 +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Scale", 698); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_lc.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_lc.ncs new file mode 100644 index 0000000..5f9c0cf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_lc.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_lc.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_lc.nss new file mode 100644 index 0000000..756cb3f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_lc.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to Invisible_CreatureL_100 +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Scale", 858); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_male.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_male.ncs new file mode 100644 index 0000000..6c44993 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_male.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_male.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_male.nss new file mode 100644 index 0000000..61e9c04 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_male.nss @@ -0,0 +1,19 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to the male gender of the + selected invisible appearance +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +int nScale = GetLocalInt(OBJECT_SELF, "CW_Scale"); + +SetLocalInt(OBJECT_SELF, "CW_Scale", nScale+120); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_noglow.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_noglow.ncs new file mode 100644 index 0000000..8ef898e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_noglow.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_noglow.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_noglow.nss new file mode 100644 index 0000000..70156f9 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_noglow.nss @@ -0,0 +1,32 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set appearance to the selected invisible model + (with no glow) and set tail to the previous + appearance if applicable +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +#include "zep_cw_inc" +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; +int nApp = GetAppearanceType(oTarget); +int nTail = GetCreatureTailType(oTarget); +int nScale = GetLocalInt(OBJECT_SELF, "CW_Scale"); + +SetCreatureAppearanceType(oTarget, nScale+2047); +TokenList(); + +if(nTail <= 14 || + Get2DAString("tailmodel", "MODEL", nTail) == "") + { + DelayCommand(1.0, SetCreatureTailType(AppToTail(nApp), oTarget)); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_sc.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_sc.ncs new file mode 100644 index 0000000..901c648 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_sc.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_sc.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_sc.nss new file mode 100644 index 0000000..66d6832 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_sc_sc.nss @@ -0,0 +1,16 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set local int to Invisible_CreatureS_100 +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +SetLocalInt(OBJECT_SELF, "CW_Scale", 838); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_setdesc.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_setdesc.ncs new file mode 100644 index 0000000..b0d2776 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_setdesc.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_setdesc.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_setdesc.nss new file mode 100644 index 0000000..5d2a1af --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_setdesc.nss @@ -0,0 +1,19 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set the description of the creature to the new + description +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +object oTarget = GetLocalObject(OBJECT_SELF, "CW_Target"); +SetDescription(oTarget, GetSpokenString()); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_setname.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_setname.ncs new file mode 100644 index 0000000..a447b99 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_setname.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_setname.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_setname.nss new file mode 100644 index 0000000..a84fc01 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_setname.nss @@ -0,0 +1,20 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set the name of the creature to the new name +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +object oTarget = GetLocalObject(OBJECT_SELF, "CW_Target"); +string sName = GetSpokenString(); + +SetName(oTarget, sName); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_setnum.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_setnum.ncs new file mode 100644 index 0000000..559b59f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_setnum.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_setnum.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_setnum.nss new file mode 100644 index 0000000..4265073 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_setnum.nss @@ -0,0 +1,19 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Set creature part being edited to the + specified number +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +int nValid = GetNearestValid(StringToInt(GetSpokenString())); +SetCurrentValid(nValid); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_setvfx.ncs b/cep_blueprints/_hak/prc_add_sb/zep_cw_setvfx.ncs new file mode 100644 index 0000000..8a56dac Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cw_setvfx.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cw_setvfx.nss b/cep_blueprints/_hak/prc_add_sb/zep_cw_setvfx.nss new file mode 100644 index 0000000..ea536e3 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_cw_setvfx.nss @@ -0,0 +1,20 @@ +//:://///////////////////////////////////////////// +//:: CEP Creature Wizard +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Apply VFX +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// +#include "zep_cw_inc" + +void main() +{ +struct CW2da data = Get2daData(); +object oTarget = data.target; +effect eVFX = SupernaturalEffect(EffectVisualEffect(GetLocalInt(OBJECT_SELF, "CW_VFX"))); +ApplyEffectToObject(DURATION_TYPE_PERMANENT, eVFX, oTarget); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cyclops.utc b/cep_blueprints/_hak/prc_add_sb/zep_cyclops.utc new file mode 100644 index 0000000..c6ea6f1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cyclops.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_cyclopsa.utc b/cep_blueprints/_hak/prc_add_sb/zep_cyclopsa.utc new file mode 100644 index 0000000..d209083 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_cyclopsa.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dabus.utc b/cep_blueprints/_hak/prc_add_sb/zep_dabus.utc new file mode 100644 index 0000000..7c64df3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dabus.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_daikyu.uti b/cep_blueprints/_hak/prc_add_sb/zep_daikyu.uti new file mode 100644 index 0000000..17d76b8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_daikyu.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_deerdoe_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_deerdoe_001.utc new file mode 100644 index 0000000..2030f1d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_deerdoe_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_deerfn_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_deerfn_001.utc new file mode 100644 index 0000000..9e7fdfb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_deerfn_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_aoe_ent.ncs b/cep_blueprints/_hak/prc_add_sb/zep_demi_aoe_ent.ncs new file mode 100644 index 0000000..febf417 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_demi_aoe_ent.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_aoe_ent.nss b/cep_blueprints/_hak/prc_add_sb/zep_demi_aoe_ent.nss new file mode 100644 index 0000000..04ea1cf --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_demi_aoe_ent.nss @@ -0,0 +1,42 @@ +//:://///////////////////////////////////////////// +//:: zep_demi_aoe_ent +//:: OnEnter event handler for a demilich's AoE. +//::////////////////////////////////////////////// +/* + Intended to be called when a creature enters + a demilich's "detector" -- an invisible area + of effect surrounding the demilich's rest state. +*/ +//::////////////////////////////////////////////// +//:: Created by: The Krit +//:: Created on: May 10, 2007 +//::////////////////////////////////////////////// + + +#include "zep_inc_demi" + + +void main() +{ + // Only react if the one entering is a living (non-DM) enemy. + object oIntruder = GetEnteringObject(); + if ( GetIsEnemy(oIntruder) && !GetIsDead(oIntruder) && + !GetIsDM(oIntruder) && !GetLocalInt(OBJECT_SELF, "DO_ONCE") ) + { + // Prevent double firings. + SetLocalInt(OBJECT_SELF, "DO_ONCE", TRUE); + + // Locate the associated placeables. + object oBones = GetLocalObject(OBJECT_SELF, ZEP_DEMI_LOCAL_SOURCE); + object oDust = GetLocalObject(OBJECT_SELF, ZEP_DEMI_LOCAL_AMBIENT); + + // Spawn the demilich. + ZEPDemilichFromBones(oBones, GetLocalString(OBJECT_SELF, ZEP_DEMI_LOCAL_RESREF), TRUE); + // Destroy the placeables. + DestroyObject(oBones); + DestroyObject(oDust); + // Destroy the detector. + DestroyObject(OBJECT_SELF); + } +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_bone_hb.ncs b/cep_blueprints/_hak/prc_add_sb/zep_demi_bone_hb.ncs new file mode 100644 index 0000000..f402888 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_demi_bone_hb.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_bone_hb.nss b/cep_blueprints/_hak/prc_add_sb/zep_demi_bone_hb.nss new file mode 100644 index 0000000..0b10138 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_demi_bone_hb.nss @@ -0,0 +1,48 @@ +//:://///////////////////////////////////////////// +//:: zep_demi_bone_hb +//:: Legacy OnHeartbeat event for the CEP demilich +//:: Pile of Bones placeable (found under the custom +//:: placeables: "Dungeons->Tombs, Grave Markers -> +//:: Pile of Bones"). +//::////////////////////////////////////////////// +/* + This script is no longer needed for demiliches, + but is retained for backwards-compatibility, and + in case someone is interested in changing the + perception range of demilich placeables. +*/ +//::////////////////////////////////////////////// +//:: Created by: Loki Hakanin +//:: Created on: April 21, 2004 +//::////////////////////////////////////////////// +//:: Modified by: The Krit +//:: Modified on: May 10, 2007 +//::////////////////////////////////////////////// + + +#include "zep_inc_demi" + + +void main() +{ + // Find the distance to the nearest enemy. + float fDistance = GetDistanceToObject( + GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, + OBJECT_SELF, 1, CREATURE_TYPE_IS_ALIVE, TRUE)); + + // Is the nearest enemy within perception range? + if ( 0.0 <= fDistance && fDistance <= ZEP_DEMI_PERC_RANGE ) + { + // Respawn the demilich. + ZEPDemilichFromBones(OBJECT_SELF, GetLocalString(OBJECT_SELF, ZEP_DEMI_LOCAL_RESREF), TRUE); + // Destroy the placeables. + object oDust = GetLocalObject(OBJECT_SELF, ZEP_DEMI_LOCAL_AMBIENT); + if ( oDust != OBJECT_INVALID ) + DestroyObject(oDust); + else + // Probably a legacy placeable. Destroy nearest dust cloud. + DestroyObject(GetNearestObjectByTag("zep_demi_dust")); + DestroyObject(OBJECT_SELF); + } +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_bone_us.ncs b/cep_blueprints/_hak/prc_add_sb/zep_demi_bone_us.ncs new file mode 100644 index 0000000..ead4ad1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_demi_bone_us.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_bone_us.nss b/cep_blueprints/_hak/prc_add_sb/zep_demi_bone_us.nss new file mode 100644 index 0000000..9075ef8 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_demi_bone_us.nss @@ -0,0 +1,36 @@ +//:://///////////////////////////////////////////// +//:: zep_demi_bone_us +//:: OnUsed event handler for a CEP demilich Pile +//:: of Bones placeable (found under the custom +//:: placeables: "Dungeons->Tombs, Grave Markers -> +//:: Pile of Bones"). +//::////////////////////////////////////////////// +/* + Transfroms a Pile of Bones to a demilich. + + Assumes this is executed by a resting demilich's + Pile of Bones placeable. + + A different blueprint will be used for regenerating + demiliches. +*/ +//::////////////////////////////////////////////// +//:: Created by: The Krit +//:: Created on: May 10, 2007 +//::////////////////////////////////////////////// + + +#include "zep_inc_demi" + + +void main() +{ + // Spawn the demilich. + ZEPDemilichFromBones(OBJECT_SELF, GetLocalString(OBJECT_SELF, ZEP_DEMI_LOCAL_RESREF), TRUE); + // Destroy the detector. + DestroyObject(GetLocalObject(OBJECT_SELF, ZEP_DEMI_LOCAL_SOURCE)); + // Destroy the placeables. + DestroyObject(GetLocalObject(OBJECT_SELF, ZEP_DEMI_LOCAL_AMBIENT)); + DestroyObject(OBJECT_SELF); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_dest.ncs b/cep_blueprints/_hak/prc_add_sb/zep_demi_dest.ncs new file mode 100644 index 0000000..1290258 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_demi_dest.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_dest.nss b/cep_blueprints/_hak/prc_add_sb/zep_demi_dest.nss new file mode 100644 index 0000000..9fb7fa1 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_demi_dest.nss @@ -0,0 +1,166 @@ +//:://///////////////////////////////////////////// +//:: zep_demi_dest +//::////////////////////////////////////////////// +/* + Permanently destroys a demilich who has already + been forced into a regenerative state. + + Must be called by the bone pile representing a + demilich in a regenerative state. This is done, + for example, for "Actions Taken" scripts in + a conversation with the bone pile. + + Used by conversation zep_demi_regen_c. +*/ +//::////////////////////////////////////////////// +//:: Created by: Loki Hakanin +//:: Created on: April 25th, 2004 +//:: Updated: April 27th, 2004 +//::////////////////////////////////////////////// +//:: Modified by: The Krit +//:: Modified on: May 10, 2007 +//::////////////////////////////////////////////// + +//::////////////////////////////////////////////// +//:: Summary of effects: +//:: 1.) PC crouches over the bones. +//:: 2.) Floating text on our demilich's bones explains what's going on. +//:: 3.) VFX representing the demilich's departing soul -- and the +//:: returning souls of its victims -- is played. +//:: 4.) Victims are notified of their restored status. +//:: 5.) Victims are resurrected, if a flag to do so is set. +//:: 6.) Nearby creatures are possibly dazed or stunned by the death knell. +//:: 7.) The demilich's bone and dust cloud placeables are destroyed. +//::////////////////////////////////////////////// + + +#include "zep_inc_demi" + + +// The time it takes for the Wail of the Banshee visual to scream. +const float WAIL_TIME = 3.0f; + + +// Handles the actual destruction and consequences. +// Executed by the PC. +void DestroyDemilich(object oBones); + +// Attempts to daze or stun those nearby the demilich when it is destroyed. +// Executed by the Pile of Bones. +void DeathKnell(); + + +// Main entry point. +void main() +{ + object oPC = GetPCSpeaker(); + object oBones = OBJECT_SELF; + + // Animate the PC to crouch down and interact with the demilich's bones. + AssignCommand(oPC, ActionMoveToObject(oBones)); + AssignCommand(oPC, ActionDoCommand(SetFacingPoint(GetPosition(oBones)))); + AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 1.0, 3.0)); + + // Destroy the demilich once the animation is complete. + AssignCommand(oPC, ActionDoCommand(DestroyDemilich(oBones))); +} + + +// Handles the actual destruction and consequences. +// Executed by the PC. +void DestroyDemilich(object oBones) +{ + // See if the demilich regenerated before we got to this point. + if ( !GetIsObjectValid(oBones) ) + return; + + // Prevent the demilich from regenerating. + SetLocalInt(oBones, "DESTROYED", TRUE); + + // Allow a module-specific script to be called here. + SetLocalObject(oBones, "MyDestroyer", OBJECT_SELF); + ExecuteScript(GetLocalString(GetModule(), ZEP_DEMI_DEST_SCRIPT), oBones); + + // Consume the demilich-destroying item (holy water, by default). + object oHolyWater = GetItemPossessedBy(OBJECT_SELF, ZEP_DEMI_DEST_TAG); + int nSize = GetItemStackSize(oHolyWater); + if ( nSize > 1 ) + // Only consume one item. + SetItemStackSize(oHolyWater, nSize - 1); + else + DestroyObject(oHolyWater); + + // Display the demilich's soul departing. (Impressive, no?) + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_WAIL_O_BANSHEES), oBones); + + // Display some floating text over the PC who did the demilich in. + FloatingTextStringOnCreature(ZEP_DEMI_FINAL_DEST, OBJECT_SELF); + + // Calculate a partial delay. + float fInterval = WAIL_TIME / IntToFloat(ZEP_DEMI_NUM_SOULGEMS+1); + // Loop through the soul gems. + int nGem = ZEP_DEMI_NUM_SOULGEMS; + while ( nGem-- > 0 ) + // Release this soul. + AssignCommand(oBones, DelayCommand(IntToFloat(nGem) * fInterval, + ZEPDemilichFreeSoul(nGem))); + + // Destroy the demilich bone, dust, and inventory placeables once the above effects finish. + DestroyObject(GetLocalObject(oBones, ZEP_DEMI_LOCAL_AMBIENT), WAIL_TIME); + DestroyObject(GetLocalObject(oBones, ZEP_DEMI_LOCAL_HOLDER), WAIL_TIME); + DestroyObject(oBones, WAIL_TIME + 0.1); // Slightly longer delay so DeathKnell() can finish. + // A little extra visual effect as the bones disappear. + DelayCommand(WAIL_TIME, ApplyEffectToObject(DURATION_TYPE_INSTANT, + EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_NATURE), + oBones)); + // Effects of the death knell. + AssignCommand(oBones, DelayCommand(WAIL_TIME, DeathKnell())); +} + + +// Attempts to daze or stun those nearby the demilich when it is destroyed. +// Executed by the Pile of Bones. +void DeathKnell() +{ + // Create the effects. + // (Extraordinary because they represent being overwhelmed, not a magical effect.) + effect eStun = ExtraordinaryEffect(EffectStunned()); + effect eDaze = ExtraordinaryEffect(EffectDazed()); + // Get the save DC. + int nDC = GetLocalInt(OBJECT_SELF, ZEP_DEMI_LOCAL_HITDICE); + + // Prepare to loop through all nearby creatures. + int nCount = 1; + object oCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, OBJECT_SELF, nCount); + float fDistance = GetDistanceToObject(oCreature); + + // Start with those relatively close. These will be stunned or dazed. + while ( 0.0 <= fDistance && fDistance <= RADIUS_SIZE_LARGE ) + { + // Allow a Will save. + if ( !WillSave(oCreature, nDC) ) + // Stun them for 1-4 rounds. + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eStun, oCreature, RoundsToSeconds(d4())); + else + // Daze them for 1-2 rounds. + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eDaze, oCreature, RoundsToSeconds(d2())); + + // Update the loop. + oCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, OBJECT_SELF, ++nCount); + fDistance = GetDistanceToObject(oCreature); + } + + // Continue with those a bit further away. These might be dazed. + while ( 0.0 <= fDistance && fDistance <= RADIUS_SIZE_COLOSSAL ) + { + // Allow a Will save. + if ( !WillSave(oCreature, nDC) ) + // Daze them for 1-4 rounds. + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eDaze, oCreature, RoundsToSeconds(d4())); + + // Update the loop. + oCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, OBJECT_SELF, ++nCount); + fDistance = GetDistanceToObject(oCreature); + } +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_dust.utp b/cep_blueprints/_hak/prc_add_sb/zep_demi_dust.utp new file mode 100644 index 0000000..29481c3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_demi_dust.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_lich.utc b/cep_blueprints/_hak/prc_add_sb/zep_demi_lich.utc new file mode 100644 index 0000000..2096688 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_demi_lich.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_ondeath.ncs b/cep_blueprints/_hak/prc_add_sb/zep_demi_ondeath.ncs new file mode 100644 index 0000000..ff75ef8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_demi_ondeath.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_ondeath.nss b/cep_blueprints/_hak/prc_add_sb/zep_demi_ondeath.nss new file mode 100644 index 0000000..446296e --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_demi_ondeath.nss @@ -0,0 +1,32 @@ +//:://///////////////////////////////////////////// +//:: zep_demi_ondeath +//:: OnDeath event handler for the demilich creature +//::////////////////////////////////////////////// +/* + Handles the custom death routines of demiliches. +*/ +//::////////////////////////////////////////////// +//:: Created by: The Krit +//:: Created on: May 10, 2007 +//::////////////////////////////////////////////// +// NOTE: The standard handler is nw_c2_default7. + + +#include "zep_inc_demi" + + +void main() +{ + // Some visuals to mark the "end" of this formidable creature. + ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_IMPLOSION), GetLocation(OBJECT_SELF)); + + // Call the module-specified OnDeath handling. + ExecuteScript(GetLocalString(GetModule(), ZEP_DEMI_DEAD_SCRIPT), OBJECT_SELF); + + // Send the demilich to its regenerative state. + ZEPDemilichSpawnBones(OBJECT_SELF, TRUE); + + // Make sure the creature disappears (immediately). + SetIsDestroyable(TRUE); + DestroyObject(OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_onspawn.ncs b/cep_blueprints/_hak/prc_add_sb/zep_demi_onspawn.ncs new file mode 100644 index 0000000..001b004 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_demi_onspawn.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_onspawn.nss b/cep_blueprints/_hak/prc_add_sb/zep_demi_onspawn.nss new file mode 100644 index 0000000..fde6c3b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_demi_onspawn.nss @@ -0,0 +1,37 @@ +//:://///////////////////////////////////////////// +//:: zep_demi_onspawn +//:: OnSpawn event handler for the demilich creature +//::////////////////////////////////////////////// +/* + Special configuration for the demilich -- + flag heartbeat and spell cast at events. +*/ +//::////////////////////////////////////////////// +//:: Created by: The Krit +//:: Created on: May 10, 2007 +//::////////////////////////////////////////////// + +#include "NW_I0_GENERIC" + +void main() +{ + // Call the default spawn-in handling. + ExecuteScript("nw_c2_default9", OBJECT_SELF); + + // Request that the "heartbeat" event get redirected to the user-defined event. + // (So the demilich will revert to a pile of bones when no enemies are near.) + SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); + + // Request that the "spell cast at" event get redirected to the user-defined event. + // (So the demilich will try to trap the souls of casters.) + SetSpawnInCondition(NW_FLAG_SPELL_CAST_AT_EVENT); + + // Force a higher AI level. + // This will cause the user-defined heartbeat to be thrown, even if there is + // no PC in the area. + // Since the user-defined heartbeat will despawn the demilich whenever the + // AI level would have been lower (i.e. not in combat), this will not cause + // lag (despite usually being a lag-suspect). + SetAILevel(OBJECT_SELF, AI_LEVEL_NORMAL); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_onspell.ncs b/cep_blueprints/_hak/prc_add_sb/zep_demi_onspell.ncs new file mode 100644 index 0000000..7c14358 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_demi_onspell.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_onspell.nss b/cep_blueprints/_hak/prc_add_sb/zep_demi_onspell.nss new file mode 100644 index 0000000..5d7dd07 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_demi_onspell.nss @@ -0,0 +1,19 @@ +//:://///////////////////////////////////////////// +//:: demilich_onspell +//:: legacy OnSpellCastAt event handler for demiliches +//::////////////////////////////////////////////// +/* + This is a legacy placeholder for backwards + compatibility with existing CEP demiliches. +*/ +//::////////////////////////////////////////////// +//:: Created By: The Krit +//:: Created On: May 10, 2007 +//::////////////////////////////////////////////// + + +void main() +{ + ExecuteScript("nw_c2_defaultb", OBJECT_SELF); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_regen_c.dlg b/cep_blueprints/_hak/prc_add_sb/zep_demi_regen_c.dlg new file mode 100644 index 0000000..4948e36 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_demi_regen_c.dlg differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_skull.utp b/cep_blueprints/_hak/prc_add_sb/zep_demi_skull.utp new file mode 100644 index 0000000..8e2f68a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_demi_skull.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_skull0.utp b/cep_blueprints/_hak/prc_add_sb/zep_demi_skull0.utp new file mode 100644 index 0000000..7006eda Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_demi_skull0.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_userde.ncs b/cep_blueprints/_hak/prc_add_sb/zep_demi_userde.ncs new file mode 100644 index 0000000..6388c7c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_demi_userde.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_userde.nss b/cep_blueprints/_hak/prc_add_sb/zep_demi_userde.nss new file mode 100644 index 0000000..41b194b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_demi_userde.nss @@ -0,0 +1,122 @@ +//:://///////////////////////////////////////////// +//:: Custom User Defined Event +//:: FileName +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* +// Place in the UserDefined of the Demilich creature +*/ +//::////////////////////////////////////////////// +//:: Created By: Demigog +//:: Created On: +//::////////////////////////////////////////////// +#include "NW_O2_CONINCLUDE" +#include "NW_I0_SPELLS" +#include "NW_I0_GENERIC" +void CreatePlaceable(string sTemplate,location lLoc) +{ + CreateObject(OBJECT_TYPE_PLACEABLE,sTemplate,lLoc); +} +void main() +{ + int nUser = GetUserDefinedEventNumber(); + object oCaster = OBJECT_SELF; + object oSpellTarget = GetLastSpellCaster(); + object oCreature = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC); + int nDamage; + float fDelay; + effect eExplode = EffectVisualEffect(VFX_FNF_PWKILL); + effect eDam; + location lTarget = GetLocation(oCreature); + location lLoc = GetLocation(GetObjectByTag("demi_lich_01")); + + if(nUser == 1001) //HEARTBEAT (Demilich Idle) + { + location lLoc = GetLocation(OBJECT_SELF); + if(!GetIsInCombat(oCreature) && GetDistanceToObject(oCreature) > 20.0 || !GetIsFighting(oCreature) && GetDistanceToObject(oCreature) > 20.0 || !GetIsFighting(oSpellTarget) && GetDistanceToObject(oCreature) > 20.0 || (GetIsObjectValid(oCreature) == TRUE && GetDistanceToObject(oCreature) > 20.0) && (!GetIsFighting(oCreature))) + { + ClearAllActions(); + DelayCommand(20.0,CreatePlaceable("demi_lich_bones", lLoc)); + DelayCommand(20.0,CreatePlaceable("demi_lich_dust", lLoc)); + ActionDoCommand(DestroyObject(OBJECT_SELF,20.1)); + } + } + else if(nUser == 1002) // PERCEIVE (AoE Death Spell) + { + if (GetLocalInt (OBJECT_SELF, "Fired") == 0) + + { + ClearAllActions(); + //Apply the fireball explosion at the location captured above. + { + ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eExplode, lTarget); + } + //Declare the spell shape, size and the location. Capture the first target object in the shape. + object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_HUGE, lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR); + //Cycle through the targets within the spell shape until an invalid object is captured. + while (GetIsObjectValid(oTarget)) + { + //Fire cast spell at event for the specified target + SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_FINGER_OF_DEATH)); + //Get the distance between the explosion and the target to calculate delay + fDelay = GetDistanceBetweenLocations(lTarget, GetLocation(oTarget))/20; + if (FortitudeSave(oTarget,15,SAVING_THROW_TYPE_DEATH, oTarget)==0) + { + //Set the effect to KILL!! + eDam = EffectDamage(1500, DAMAGE_TYPE_MAGICAL,DAMAGE_POWER_ENERGY); + if(!GetIsReactionTypeFriendly(oTarget) && !GetIsFriend(oTarget) && oTarget != OBJECT_SELF) + + { + // Apply effects to the currently selected target. + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eExplode, oTarget)); + } + } + //Select the next target within the spell shape. + oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_HUGE, lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR); + } + SetLocalInt (OBJECT_SELF, "Fired", 1); + SetLocalInt(oTarget,"trappedsoul",0); + } + else if(nUser == 1003) // END OF COMBAT + { + // { + // SpeakString("END OF COMBAT ROUND"); + // } + } + else if(nUser == 1004) // ON DIALOGUE + { + + // } + // else if(nUser == 1005) // ATTACKED + // { + // { + // SpeakString("I AM ATTACKED"); + // } + } + else if(nUser == 1006) // DAMAGED + { + // { + // SpeakString("I AM DAMAGED"); + // } +// } +// else if(nUser == 1007) // DEATH +// { + } + else if(nUser == 1008) // DISTURBED + { + { + SpeakString("I AM DISTURBED"); + } + } +} + return; +} + + + + + + + + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_userdef.ncs b/cep_blueprints/_hak/prc_add_sb/zep_demi_userdef.ncs new file mode 100644 index 0000000..f3da09d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_demi_userdef.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demi_userdef.nss b/cep_blueprints/_hak/prc_add_sb/zep_demi_userdef.nss new file mode 100644 index 0000000..2f671ba --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_demi_userdef.nss @@ -0,0 +1,131 @@ +//:://///////////////////////////////////////////// +//:: zep_demi_userdef +//::////////////////////////////////////////////// +/* + Custom events for the demilich. + + HEARTBEAT: The demilich will revert to "rest" mode + if there are no threats nearby. + + SPELL CAST AT: The demilich may attempt to trap + the soul of the caster. +*/ +//::////////////////////////////////////////////// +//:: Created by: Loki Hakanin +//:: Modified by: The Krit +//:: Modified on: May 10, 2007 +//::////////////////////////////////////////////// + + +// Unused. Commented out for efficiency. +//const int EVENT_USER_DEFINED_PRESPAWN = 1510; +//const int EVENT_USER_DEFINED_POSTSPAWN = 1511; + + +#include "nw_i0_generic" +#include "zep_inc_demi" + + +void main() +{ + // Determine what kind of event this is. + switch ( GetUserDefinedEventNumber() ) + { + case EVENT_HEARTBEAT: + // If we're not fighting and we're at least 20 meters from + // hostiles we want to go into "rest" mode. + if ( !GetIsInCombat() ) + { + // I split the conditions so the lower CPU-cost one is checked first. -- TK + float fDistance = GetDistanceToObject(GetNearestCreature( + CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, + OBJECT_SELF, 1, CREATURE_TYPE_IS_ALIVE, TRUE)); + if ( fDistance < 0.0 || 20.0 < fDistance ) + { + // Spawn the appropriate skull and dust placeables. + ZEPDemilichSpawnBones(OBJECT_SELF, FALSE); + // Retreat into the placeables, so to speak. + SetIsDestroyable(TRUE); + DestroyObject(OBJECT_SELF); + } + } + break; + + // Unused. Commented out for efficiency. + //case EVENT_PERCEIVE: + // break; + + // Unused. Commented out for efficiency. + //case EVENT_END_COMBAT_ROUND: + // break; + + // Unused. Commented out for efficiency. + //case EVENT_DIALOGUE: + // break; + + // Unused. Commented out for efficiency. + //case EVENT_ATTACKED: + // break; + + // Unused. Commented out for efficiency. + //case EVENT_DAMAGED: + // break; + + // case 1007: DEATH - do not use for critical code, does not fire reliably all the time. + // break; + + // Unused. Commented out for efficiency. + //case EVENT_DISTURBED: + // break; + + case EVENT_SPELL_CAST_AT: + // Who dares? + object oPC = GetLastSpellCaster(); + float fDistance = GetDistanceToObject(oPC); + // Choose a soul gem for the impertinent caster. + int nGem = ZEPDemilichChooseSoulGem(oPC); + + // See if the caster is a viable target. + // This should affect casters within maximum spell range. + if ( nGem >= 0 && 0.0 <= fDistance && fDistance <= 50.0 ) + { + // Even a demilich can't do two things at once. + ClearAllActions(); + // Announce our intent. + SpeakString(ZEP_DEMI_ONSPELL_MSG); //"Yes, I sense you have power...your potential shall be mine!" + // Send feedback to the player. + SendMessageToPC(oPC, GetNameNPCColor(OBJECT_SELF) + ColorTokenGameEngine() + + ZEP_DEMI_TRAPSOUL_MESSAGE + ColorTokenEnd()); + + // Get the save DC from the demilich. + int nDC = GetLocalInt(OBJECT_SELF, "ZEP_DEMI_TrapSoul_SaveDC"); + if ( nDC == 0 ) + // Use the module default. + nDC = ZEP_DEMI_TRAPSOUL_SAVEDC; + // Allow a fortitude save. + if ( FortitudeSave(oPC, nDC) == 0 ) + // Trap the caster's soul. + ZEPDemilichTrapSoul(oPC, nGem); + else + // Just play a visual effect. + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, + EffectBeam(VFX_BEAM_BLACK, OBJECT_SELF, BODY_NODE_HAND), + oPC, 1.5); + + // Resume combat when done. + // (TrapSoul is timed to take up less than a combat flurry.) + DelayCommand(2.0, DetermineCombatRound()); + } + break; + + // Unused. Commented out for efficiency. + //case EVENT_USER_DEFINED_PRESPAWN: + // break; + + // Unused. Commented out for efficiency. + //case EVENT_USER_DEFINED_POSTSPAWN: + // break; + + }//switch ( GetUserDefinedEventNumber() ) +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_demonvorlan.utc b/cep_blueprints/_hak/prc_add_sb/zep_demonvorlan.utc new file mode 100644 index 0000000..a4139bf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_demonvorlan.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_desk01.utp b/cep_blueprints/_hak/prc_add_sb/zep_desk01.utp new file mode 100644 index 0000000..b861b4d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_desk01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_desk02.utp b/cep_blueprints/_hak/prc_add_sb/zep_desk02.utp new file mode 100644 index 0000000..272c9b6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_desk02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_desk03.utp b/cep_blueprints/_hak/prc_add_sb/zep_desk03.utp new file mode 100644 index 0000000..9816436 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_desk03.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_deskclutterd.utp b/cep_blueprints/_hak/prc_add_sb/zep_deskclutterd.utp new file mode 100644 index 0000000..9d89b8e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_deskclutterd.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_destroyself.ncs b/cep_blueprints/_hak/prc_add_sb/zep_destroyself.ncs new file mode 100644 index 0000000..0b44678 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_destroyself.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_destroyself.nss b/cep_blueprints/_hak/prc_add_sb/zep_destroyself.nss new file mode 100644 index 0000000..07fc5e8 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_destroyself.nss @@ -0,0 +1,17 @@ +//:://///////////////////////////////////////////// +//:: Community Expansion Pack +//::////////////////////////////////////////////// +/* + Generic Destroy Self script +*/ +//::////////////////////////////////////////////// +//:: Created By: 420 +//:: Created On: April 20, 2009 +//::////////////////////////////////////////////// + +void main() +{ +ChangeToStandardFaction(OBJECT_SELF, STANDARD_FACTION_MERCHANT); +SetIsDestroyable(TRUE); +DestroyObject(OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_deviltwr001.utp b/cep_blueprints/_hak/prc_add_sb/zep_deviltwr001.utp new file mode 100644 index 0000000..b3cb5eb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_deviltwr001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_diptych.utp b/cep_blueprints/_hak/prc_add_sb/zep_diptych.utp new file mode 100644 index 0000000..b2b0b70 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_diptych.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_direelephant.utc b/cep_blueprints/_hak/prc_add_sb/zep_direelephant.utc new file mode 100644 index 0000000..467a94f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_direelephant.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_direrabbit.utc b/cep_blueprints/_hak/prc_add_sb/zep_direrabbit.utc new file mode 100644 index 0000000..b7c714c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_direrabbit.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dirganswall.uti b/cep_blueprints/_hak/prc_add_sb/zep_dirganswall.uti new file mode 100644 index 0000000..c199f64 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dirganswall.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dirt01.utp b/cep_blueprints/_hak/prc_add_sb/zep_dirt01.utp new file mode 100644 index 0000000..80ff746 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dirt01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dirt02.utp b/cep_blueprints/_hak/prc_add_sb/zep_dirt02.utp new file mode 100644 index 0000000..8979792 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dirt02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dirt03.utp b/cep_blueprints/_hak/prc_add_sb/zep_dirt03.utp new file mode 100644 index 0000000..3af5d45 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dirt03.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_disguise.uti b/cep_blueprints/_hak/prc_add_sb/zep_disguise.uti new file mode 100644 index 0000000..cdb1299 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_disguise.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_displaycase1.utp b/cep_blueprints/_hak/prc_add_sb/zep_displaycase1.utp new file mode 100644 index 0000000..b504198 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_displaycase1.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_displaycase2.utp b/cep_blueprints/_hak/prc_add_sb/zep_displaycase2.utp new file mode 100644 index 0000000..2b6d37d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_displaycase2.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_displaycase3.utp b/cep_blueprints/_hak/prc_add_sb/zep_displaycase3.utp new file mode 100644 index 0000000..f8284ec Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_displaycase3.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dklord_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_dklord_001.utc new file mode 100644 index 0000000..63fd1dc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dklord_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dlaoclb_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_dlaoclb_001.uti new file mode 100644 index 0000000..db548d4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dlaoclb_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dlaogre_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_dlaogre_001.utc new file mode 100644 index 0000000..555516e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dlaogre_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dlaoskn_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_dlaoskn_001.uti new file mode 100644 index 0000000..b677dfc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dlaoskn_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dogcoosheef.utc b/cep_blueprints/_hak/prc_add_sb/zep_dogcoosheef.utc new file mode 100644 index 0000000..aec09c5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dogcoosheef.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dogcoosheem.utc b/cep_blueprints/_hak/prc_add_sb/zep_dogcoosheem.utc new file mode 100644 index 0000000..4e3db69 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dogcoosheem.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dogdalmation.utc b/cep_blueprints/_hak/prc_add_sb/zep_dogdalmation.utc new file mode 100644 index 0000000..881296d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dogdalmation.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dogdalmpup.utc b/cep_blueprints/_hak/prc_add_sb/zep_dogdalmpup.utc new file mode 100644 index 0000000..c82d3b3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dogdalmpup.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dogdober.utc b/cep_blueprints/_hak/prc_add_sb/zep_dogdober.utc new file mode 100644 index 0000000..934fe34 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dogdober.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dogdoberpup.utc b/cep_blueprints/_hak/prc_add_sb/zep_dogdoberpup.utc new file mode 100644 index 0000000..2a986e2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dogdoberpup.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doghusky.utc b/cep_blueprints/_hak/prc_add_sb/zep_doghusky.utc new file mode 100644 index 0000000..a8bde96 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_doghusky.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doghuskypup.utc b/cep_blueprints/_hak/prc_add_sb/zep_doghuskypup.utc new file mode 100644 index 0000000..0038fc4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_doghuskypup.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dogjackal.utc b/cep_blueprints/_hak/prc_add_sb/zep_dogjackal.utc new file mode 100644 index 0000000..aefe859 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dogjackal.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dogmalamute.utc b/cep_blueprints/_hak/prc_add_sb/zep_dogmalamute.utc new file mode 100644 index 0000000..ac55c72 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dogmalamute.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dogmastiff.utc b/cep_blueprints/_hak/prc_add_sb/zep_dogmastiff.utc new file mode 100644 index 0000000..4bf5495 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dogmastiff.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dogmastiffp.utc b/cep_blueprints/_hak/prc_add_sb/zep_dogmastiffp.utc new file mode 100644 index 0000000..b351551 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dogmastiffp.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dogterrier.utc b/cep_blueprints/_hak/prc_add_sb/zep_dogterrier.utc new file mode 100644 index 0000000..c10fe5a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dogterrier.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dogterrierp.utc b/cep_blueprints/_hak/prc_add_sb/zep_dogterrierp.utc new file mode 100644 index 0000000..8966caa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dogterrierp.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dogwild.utc b/cep_blueprints/_hak/prc_add_sb/zep_dogwild.utc new file mode 100644 index 0000000..758003a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dogwild.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dogwildp.utc b/cep_blueprints/_hak/prc_add_sb/zep_dogwildp.utc new file mode 100644 index 0000000..70907fb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dogwildp.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_donkey_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_donkey_001.utc new file mode 100644 index 0000000..6c562bb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_donkey_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doorkill.ncs b/cep_blueprints/_hak/prc_add_sb/zep_doorkill.ncs new file mode 100644 index 0000000..76597d3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_doorkill.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doorkill.nss b/cep_blueprints/_hak/prc_add_sb/zep_doorkill.nss new file mode 100644 index 0000000..3e97ced --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_doorkill.nss @@ -0,0 +1,43 @@ +//:://///////////////////////////////////////////// +//:: ZEP_DOORkill.nss +//:: Copyright (c) 2001 Bioware Corp. +//:: Modified by Dan Heidel 1/14/04 for CEP +//:: Modified by TJ Rayn (Bioware name: TheExcimer-500) 3/11/06 for CEP2 +//:: - added lines to create new placeable on death. +//::////////////////////////////////////////////// +/* + Place in the OnDestruct function of a placeable door + to ensure proper functioning. See zep_openclose for + further documentation. + + For create new placeable - add Local Variable on Object: + Type: string, Variable Name: CEP_L_DIEREPLACE Value: . +*/ +//::////////////////////////////////////////////// +//:: Created By: Brent +//:: Created On: January 2002 +//::////////////////////////////////////////////// + +void main() +{ + string sGateBlock = GetLocalString(OBJECT_SELF, "CEP_L_GATEBLOCK"); + location lSelfLoc = GetLocation(OBJECT_SELF); + int nIsOpen = GetIsOpen(OBJECT_SELF); + + if (nIsOpen == 0) //if the door is closed + { + object oSelf = OBJECT_SELF; + if (GetLocalObject(oSelf, "GateBlock")!= OBJECT_INVALID) + { + DestroyObject(GetLocalObject(oSelf, "GateBlock")); + } + } + +//Create New Placeable on Death + string sDieReplace = GetLocalString(OBJECT_SELF, "CEP_L_DIEREPLACE"); + if (sDieReplace!="") +{CreateObject(OBJECT_TYPE_PLACEABLE, sDieReplace,lSelfLoc);} +} + + + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doors001.utp b/cep_blueprints/_hak/prc_add_sb/zep_doors001.utp new file mode 100644 index 0000000..c067b8b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_doors001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doors003.utp b/cep_blueprints/_hak/prc_add_sb/zep_doors003.utp new file mode 100644 index 0000000..bfc42d3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_doors003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doors004.utp b/cep_blueprints/_hak/prc_add_sb/zep_doors004.utp new file mode 100644 index 0000000..f98e842 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_doors004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doors005.utp b/cep_blueprints/_hak/prc_add_sb/zep_doors005.utp new file mode 100644 index 0000000..9d40ca8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_doors005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doors006.utp b/cep_blueprints/_hak/prc_add_sb/zep_doors006.utp new file mode 100644 index 0000000..ed95078 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_doors006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doors007.utp b/cep_blueprints/_hak/prc_add_sb/zep_doors007.utp new file mode 100644 index 0000000..6028bbb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_doors007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doors008.utp b/cep_blueprints/_hak/prc_add_sb/zep_doors008.utp new file mode 100644 index 0000000..473635e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_doors008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doors009.utp b/cep_blueprints/_hak/prc_add_sb/zep_doors009.utp new file mode 100644 index 0000000..7f8ade4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_doors009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doors010.utp b/cep_blueprints/_hak/prc_add_sb/zep_doors010.utp new file mode 100644 index 0000000..37aa151 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_doors010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doors011.utp b/cep_blueprints/_hak/prc_add_sb/zep_doors011.utp new file mode 100644 index 0000000..02db5eb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_doors011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doorspawn.ncs b/cep_blueprints/_hak/prc_add_sb/zep_doorspawn.ncs new file mode 100644 index 0000000..ce85d44 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_doorspawn.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doorspawn.nss b/cep_blueprints/_hak/prc_add_sb/zep_doorspawn.nss new file mode 100644 index 0000000..fad908d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_doorspawn.nss @@ -0,0 +1,27 @@ +//:://///////////////////////////////////////////// +//:: ZEP_DOORSPAWN.nss +//:: Copyright (c) 2001 Bioware Corp. +//:: Modified by Dan Heidel 1/14/04 for CEP +//::////////////////////////////////////////////// +/* + Place in the OnHeartbeat function of a placeable door + to ensure proper functioning. See zep_openclose for + further documentation. +*/ +//::////////////////////////////////////////////// +//:: Created By: Brent +//:: Created On: January 2002 +//::////////////////////////////////////////////// + + +void main() +{ + int nIsOpen = GetIsOpen(OBJECT_SELF); + if(nIsOpen == 1)return; //if door is open, quit + if(GetLocalObject(OBJECT_SELF, "GateBlock") != OBJECT_INVALID) return; //if gateblock is already in place, quit + string sGateBlock = GetLocalString(OBJECT_SELF, "CEP_L_GATEBLOCK"); + location lSelfLoc = GetLocation(OBJECT_SELF); + object oSelf = OBJECT_SELF; + PlayAnimation(ANIMATION_PLACEABLE_CLOSE); + SetLocalObject(oSelf, "GateBlock", CreateObject(OBJECT_TYPE_PLACEABLE, sGateBlock, lSelfLoc)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doorway_d001.utp b/cep_blueprints/_hak/prc_add_sb/zep_doorway_d001.utp new file mode 100644 index 0000000..f6c16ac Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_doorway_d001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doorway_d002.utp b/cep_blueprints/_hak/prc_add_sb/zep_doorway_d002.utp new file mode 100644 index 0000000..ec75d1e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_doorway_d002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doorway_d003.utp b/cep_blueprints/_hak/prc_add_sb/zep_doorway_d003.utp new file mode 100644 index 0000000..ee4bec2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_doorway_d003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doorway_dag.utp b/cep_blueprints/_hak/prc_add_sb/zep_doorway_dag.utp new file mode 100644 index 0000000..727c67f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_doorway_dag.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_doppelganger.utc b/cep_blueprints/_hak/prc_add_sb/zep_doppelganger.utc new file mode 100644 index 0000000..eae9192 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_doppelganger.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dracncflg002.utp b/cep_blueprints/_hak/prc_add_sb/zep_dracncflg002.utp new file mode 100644 index 0000000..6abb8fb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dracncflg002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dracncflg003.utp b/cep_blueprints/_hak/prc_add_sb/zep_dracncflg003.utp new file mode 100644 index 0000000..98c91ff Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dracncflg003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dracncflg004.utp b/cep_blueprints/_hak/prc_add_sb/zep_dracncflg004.utp new file mode 100644 index 0000000..8d9475d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dracncflg004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dracncflg005.utp b/cep_blueprints/_hak/prc_add_sb/zep_dracncflg005.utp new file mode 100644 index 0000000..9e2fe53 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dracncflg005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dracncflg006.utp b/cep_blueprints/_hak/prc_add_sb/zep_dracncflg006.utp new file mode 100644 index 0000000..7186112 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dracncflg006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dracncflg007.utp b/cep_blueprints/_hak/prc_add_sb/zep_dracncflg007.utp new file mode 100644 index 0000000..7853410 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dracncflg007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dracncflg008.utp b/cep_blueprints/_hak/prc_add_sb/zep_dracncflg008.utp new file mode 100644 index 0000000..c604163 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dracncflg008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dracncflg009.utp b/cep_blueprints/_hak/prc_add_sb/zep_dracncflg009.utp new file mode 100644 index 0000000..65dbd41 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dracncflg009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dracncflg010.utp b/cep_blueprints/_hak/prc_add_sb/zep_dracncflg010.utp new file mode 100644 index 0000000..9b11b0e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dracncflg010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dracncplacrd.utp b/cep_blueprints/_hak/prc_add_sb/zep_dracncplacrd.utp new file mode 100644 index 0000000..d79790d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dracncplacrd.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dracolich.utc b/cep_blueprints/_hak/prc_add_sb/zep_dracolich.utc new file mode 100644 index 0000000..1b434ae Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dracolich.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_draconicflag.utp b/cep_blueprints/_hak/prc_add_sb/zep_draconicflag.utp new file mode 100644 index 0000000..fe63952 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_draconicflag.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dracotaur.utc b/cep_blueprints/_hak/prc_add_sb/zep_dracotaur.utc new file mode 100644 index 0000000..b804c41 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dracotaur.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dragon_ride.utc b/cep_blueprints/_hak/prc_add_sb/zep_dragon_ride.utc new file mode 100644 index 0000000..15545f4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dragon_ride.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dragonclawf.uti b/cep_blueprints/_hak/prc_add_sb/zep_dragonclawf.uti new file mode 100644 index 0000000..d116b15 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dragonclawf.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dragonclawm.uti b/cep_blueprints/_hak/prc_add_sb/zep_dragonclawm.uti new file mode 100644 index 0000000..8dc740a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dragonclawm.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dragonflag.utp b/cep_blueprints/_hak/prc_add_sb/zep_dragonflag.utp new file mode 100644 index 0000000..1dd7d19 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dragonflag.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dragonfly.utc b/cep_blueprints/_hak/prc_add_sb/zep_dragonfly.utc new file mode 100644 index 0000000..17f0b45 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dragonfly.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dragongolem.utc b/cep_blueprints/_hak/prc_add_sb/zep_dragongolem.utc new file mode 100644 index 0000000..b2aab29 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dragongolem.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drain001.utp b/cep_blueprints/_hak/prc_add_sb/zep_drain001.utp new file mode 100644 index 0000000..d8b5461 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drain001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_draken.utc b/cep_blueprints/_hak/prc_add_sb/zep_draken.utc new file mode 100644 index 0000000..3fae6f1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_draken.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drcncplac001.utp b/cep_blueprints/_hak/prc_add_sb/zep_drcncplac001.utp new file mode 100644 index 0000000..ddb52fe Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drcncplac001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drcncplac003.utp b/cep_blueprints/_hak/prc_add_sb/zep_drcncplac003.utp new file mode 100644 index 0000000..65ac3c1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drcncplac003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drcncplac004.utp b/cep_blueprints/_hak/prc_add_sb/zep_drcncplac004.utp new file mode 100644 index 0000000..7411d2b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drcncplac004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drcncplac005.utp b/cep_blueprints/_hak/prc_add_sb/zep_drcncplac005.utp new file mode 100644 index 0000000..0c451a8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drcncplac005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drcncplac006.utp b/cep_blueprints/_hak/prc_add_sb/zep_drcncplac006.utp new file mode 100644 index 0000000..fa06705 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drcncplac006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drcncplac007.utp b/cep_blueprints/_hak/prc_add_sb/zep_drcncplac007.utp new file mode 100644 index 0000000..8185093 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drcncplac007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drcncplac008.utp b/cep_blueprints/_hak/prc_add_sb/zep_drcncplac008.utp new file mode 100644 index 0000000..35aa552 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drcncplac008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drcncplac009.utp b/cep_blueprints/_hak/prc_add_sb/zep_drcncplac009.utp new file mode 100644 index 0000000..d453e51 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drcncplac009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drcncplac010.utp b/cep_blueprints/_hak/prc_add_sb/zep_drcncplac010.utp new file mode 100644 index 0000000..b70171e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drcncplac010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dretch.utc b/cep_blueprints/_hak/prc_add_sb/zep_dretch.utc new file mode 100644 index 0000000..19abb29 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dretch.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dretchcook.utc b/cep_blueprints/_hak/prc_add_sb/zep_dretchcook.utc new file mode 100644 index 0000000..2863abb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dretchcook.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgbkad_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgbkad_001.utc new file mode 100644 index 0000000..0ff10d2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgbkad_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgbkad_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgbkad_002.utc new file mode 100644 index 0000000..03d8b14 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgbkad_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgbkan_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgbkan_001.utc new file mode 100644 index 0000000..eafda97 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgbkan_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgbko_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgbko_001.utc new file mode 100644 index 0000000..ef4a45e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgbko_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgbkw_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgbkw_001.utc new file mode 100644 index 0000000..11db27e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgbkw_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgblad_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgblad_001.utc new file mode 100644 index 0000000..56b845a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgblad_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgblad_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgblad_002.utc new file mode 100644 index 0000000..fd0e85e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgblad_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgblan_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgblan_001.utc new file mode 100644 index 0000000..5edf9a9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgblan_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgblo_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgblo_001.utc new file mode 100644 index 0000000..5ce353b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgblo_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgblw_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgblw_001.utc new file mode 100644 index 0000000..201ff0e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgblw_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgbsad_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgbsad_001.utc new file mode 100644 index 0000000..4d842ea Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgbsad_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgbsad_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgbsad_002.utc new file mode 100644 index 0000000..250861d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgbsad_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgbsan_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgbsan_001.utc new file mode 100644 index 0000000..524f556 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgbsan_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgbso_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgbso_001.utc new file mode 100644 index 0000000..fb9dd7d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgbso_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgbsw_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgbsw_001.utc new file mode 100644 index 0000000..4a3f9a5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgbsw_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgbzad_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgbzad_001.utc new file mode 100644 index 0000000..bc2fa30 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgbzad_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgbzad_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgbzad_002.utc new file mode 100644 index 0000000..6382e17 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgbzad_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgbzan_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgbzan_001.utc new file mode 100644 index 0000000..882ad7e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgbzan_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgbzo_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgbzo_001.utc new file mode 100644 index 0000000..90428ea Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgbzo_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgbzw_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgbzw_001.utc new file mode 100644 index 0000000..e98d3d4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgbzw_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgcpad_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgcpad_001.utc new file mode 100644 index 0000000..e79fb57 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgcpad_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgcpad_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgcpad_002.utc new file mode 100644 index 0000000..4955ec3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgcpad_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgcpan_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgcpan_001.utc new file mode 100644 index 0000000..0db8be8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgcpan_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgcpo_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgcpo_001.utc new file mode 100644 index 0000000..f1564fb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgcpo_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgcpw_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgcpw_001.utc new file mode 100644 index 0000000..1ca2e91 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgcpw_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgdrss_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_drgdrss_001.uti new file mode 100644 index 0000000..d99a5f2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgdrss_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drggoad_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drggoad_001.utc new file mode 100644 index 0000000..a3328ad Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drggoad_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drggoad_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_drggoad_002.utc new file mode 100644 index 0000000..f7d4278 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drggoad_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drggoan_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drggoan_001.utc new file mode 100644 index 0000000..6d8c40c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drggoan_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drggoo_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drggoo_001.utc new file mode 100644 index 0000000..2138469 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drggoo_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drggow_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drggow_001.utc new file mode 100644 index 0000000..195e143 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drggow_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drggrad_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drggrad_001.utc new file mode 100644 index 0000000..5b7d701 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drggrad_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drggrad_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_drggrad_002.utc new file mode 100644 index 0000000..3e1bb1f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drggrad_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drggran_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drggran_001.utc new file mode 100644 index 0000000..d3797f3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drggran_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drggro_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drggro_001.utc new file mode 100644 index 0000000..31487fb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drggro_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drggrw_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drggrw_001.utc new file mode 100644 index 0000000..dcd39dc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drggrw_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_001.utc new file mode 100644 index 0000000..db42883 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_002.utc new file mode 100644 index 0000000..00a816f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_003.utc new file mode 100644 index 0000000..d71460f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_004.utc new file mode 100644 index 0000000..86ea983 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_005.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_005.utc new file mode 100644 index 0000000..b269267 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_006.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_006.utc new file mode 100644 index 0000000..0bc9ad8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_006.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_007.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_007.utc new file mode 100644 index 0000000..4077a91 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_007.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_008.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_008.utc new file mode 100644 index 0000000..ecae95a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_008.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_009.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_009.utc new file mode 100644 index 0000000..9b95131 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_009.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_010.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_010.utc new file mode 100644 index 0000000..1d59df1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_010.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_011.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_011.utc new file mode 100644 index 0000000..55b6767 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_011.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_012.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_012.utc new file mode 100644 index 0000000..1a92942 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_012.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_013.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_013.utc new file mode 100644 index 0000000..0677c69 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_013.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_014.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_014.utc new file mode 100644 index 0000000..2576fbe Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_014.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_015.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_015.utc new file mode 100644 index 0000000..9f02144 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_015.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_016.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_016.utc new file mode 100644 index 0000000..12c5f06 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_016.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_017.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_017.utc new file mode 100644 index 0000000..3d60e4e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_017.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_018.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_018.utc new file mode 100644 index 0000000..3a48e1b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_018.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_019.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_019.utc new file mode 100644 index 0000000..2dbc4d4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_019.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_020.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_020.utc new file mode 100644 index 0000000..4fd1d9e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_020.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_021.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_021.utc new file mode 100644 index 0000000..f19bcd3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_021.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_022.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_022.utc new file mode 100644 index 0000000..363ef4b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_022.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_023.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_023.utc new file mode 100644 index 0000000..5f19e28 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_023.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_024.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_024.utc new file mode 100644 index 0000000..3b0ab5a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgnkin_024.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgrdad_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgrdad_001.utc new file mode 100644 index 0000000..60d0e5b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgrdad_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgrdad_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgrdad_002.utc new file mode 100644 index 0000000..8faa57c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgrdad_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgrdan_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgrdan_001.utc new file mode 100644 index 0000000..d89952d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgrdan_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgrdo_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgrdo_001.utc new file mode 100644 index 0000000..38aa915 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgrdo_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgrdw_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgrdw_001.utc new file mode 100644 index 0000000..697dc9e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgrdw_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgrust.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgrust.utc new file mode 100644 index 0000000..93666eb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgrust.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgslad_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgslad_001.utc new file mode 100644 index 0000000..6807a32 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgslad_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgslad_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgslad_002.utc new file mode 100644 index 0000000..397b87c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgslad_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgslan_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgslan_001.utc new file mode 100644 index 0000000..4e45380 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgslan_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgslo_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgslo_001.utc new file mode 100644 index 0000000..f9754e0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgslo_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgslw_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgslw_001.utc new file mode 100644 index 0000000..0f01137 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgslw_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgwtad_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgwtad_001.utc new file mode 100644 index 0000000..d17cd78 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgwtad_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgwtad_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgwtad_002.utc new file mode 100644 index 0000000..5f3eb8d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgwtad_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgwtan_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgwtan_001.utc new file mode 100644 index 0000000..26ef132 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgwtan_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgwto_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgwto_001.utc new file mode 100644 index 0000000..0e47072 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgwto_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drgwtw_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_drgwtw_001.utc new file mode 100644 index 0000000..cca580a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drgwtw_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dridarmor_a.utc b/cep_blueprints/_hak/prc_add_sb/zep_dridarmor_a.utc new file mode 100644 index 0000000..06a6f98 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dridarmor_a.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dridarmor_b.utc b/cep_blueprints/_hak/prc_add_sb/zep_dridarmor_b.utc new file mode 100644 index 0000000..e1c6f90 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dridarmor_b.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dridarmor_c.utc b/cep_blueprints/_hak/prc_add_sb/zep_dridarmor_c.utc new file mode 100644 index 0000000..297b684 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dridarmor_c.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drider_onus.ncs b/cep_blueprints/_hak/prc_add_sb/zep_drider_onus.ncs new file mode 100644 index 0000000..9d2941d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drider_onus.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drider_onus.nss b/cep_blueprints/_hak/prc_add_sb/zep_drider_onus.nss new file mode 100644 index 0000000..08fc9a6 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_drider_onus.nss @@ -0,0 +1,42 @@ +//:://///////////////////////////////////////////// +//:: NW_C2_DIMDOOR.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature randomly hops around + to enemies during combat. +*/ +//::////////////////////////////////////////////// +//:: Created By: Brent +//:: Created On: January 2002 +//::////////////////////////////////////////////// +//:: Renamed drider_onuserdef 02/24/03 for Drider Demo v1.0 +//:: Modified By Luna_C with invaluable help from Tallihnn on the Bioware scripting forum. +//:: Be sure to use this with the drider_spawn script in the onspawn script slot! +//::////////////////////////////////////////////// +void JumpToWeakestEnemy(object oTargetVictim) +{ + object oTargetVictim = GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY); + location lTargetVictim = GetLocation((oTargetVictim)); + // * won't jump if closer than 4 meters to victim + if ((GetDistanceToObject(oTargetVictim) > 4.0) && (GetObjectSeen(oTargetVictim) == TRUE)) + { + ClearAllActions(); + effect eVis = EffectDisappearAppear (lTargetVictim); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVis, OBJECT_SELF, 2.0); + DelayCommand(2.5,ActionAttack(oTargetVictim)); + } +} +void main() +{ + // * During Combat try teleporting around + if (GetUserDefinedEventNumber() == 1003) + { + // * if random OR heavily wounded then teleport to next enemy + if ((Random(100) < 50) || ( (GetCurrentHitPoints() / GetMaxHitPoints()) * 100 < 50) ) + { + JumpToWeakestEnemy(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY)); + } + } +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drider_spawn.ncs b/cep_blueprints/_hak/prc_add_sb/zep_drider_spawn.ncs new file mode 100644 index 0000000..4be7c44 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drider_spawn.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drider_spawn.nss b/cep_blueprints/_hak/prc_add_sb/zep_drider_spawn.nss new file mode 100644 index 0000000..c567f78 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_drider_spawn.nss @@ -0,0 +1,65 @@ +//:://///////////////////////////////////////////// +//:: NW_C2_DIMDOORS.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + OnSpawnIn, sets up creature to teleport + during combat (requires NW_C2_DIMDOOR.nss on the + user defined event for the creature) +*/ +//::////////////////////////////////////////////// +//:: Created By: +//:: Created On: +//::////////////////////////////////////////////// + +#include "NW_I0_GENERIC" + +void main() +{ +// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION); + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + +// CUSTOM USER DEFINED EVENTS +/* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 +*/ + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + +// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) ***************************************************************************************** + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_driderm1.utc b/cep_blueprints/_hak/prc_add_sb/zep_driderm1.utc new file mode 100644 index 0000000..2c1a22e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_driderm1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dridfem_a.utc b/cep_blueprints/_hak/prc_add_sb/zep_dridfem_a.utc new file mode 100644 index 0000000..94264ef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dridfem_a.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dridfem_b.utc b/cep_blueprints/_hak/prc_add_sb/zep_dridfem_b.utc new file mode 100644 index 0000000..e4b42fe Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dridfem_b.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dridfem_c.utc b/cep_blueprints/_hak/prc_add_sb/zep_dridfem_c.utc new file mode 100644 index 0000000..75f5b41 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dridfem_c.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dridfem_d.utc b/cep_blueprints/_hak/prc_add_sb/zep_dridfem_d.utc new file mode 100644 index 0000000..bcad436 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dridfem_d.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dridmale_b.utc b/cep_blueprints/_hak/prc_add_sb/zep_dridmale_b.utc new file mode 100644 index 0000000..ff87dd2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dridmale_b.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dridmale_c.utc b/cep_blueprints/_hak/prc_add_sb/zep_dridmale_c.utc new file mode 100644 index 0000000..037d588 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dridmale_c.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dridmale_d.utc b/cep_blueprints/_hak/prc_add_sb/zep_dridmale_d.utc new file mode 100644 index 0000000..d1ffe50 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dridmale_d.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dridmale_e.utc b/cep_blueprints/_hak/prc_add_sb/zep_dridmale_e.utc new file mode 100644 index 0000000..5bde563 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dridmale_e.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drillmouse.utp b/cep_blueprints/_hak/prc_add_sb/zep_drillmouse.utp new file mode 100644 index 0000000..425bde3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drillmouse.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowflag.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowflag.utp new file mode 100644 index 0000000..53800c8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowflag.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowflag001.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowflag001.utp new file mode 100644 index 0000000..7f3cbc5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowflag001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowflag002.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowflag002.utp new file mode 100644 index 0000000..a1c85b6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowflag002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowflag003.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowflag003.utp new file mode 100644 index 0000000..f7691a5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowflag003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowflag004.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowflag004.utp new file mode 100644 index 0000000..d80da87 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowflag004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowflag005.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowflag005.utp new file mode 100644 index 0000000..a7ab2b4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowflag005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowflag006.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowflag006.utp new file mode 100644 index 0000000..9b999cf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowflag006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowflag007.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowflag007.utp new file mode 100644 index 0000000..715971a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowflag007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowflag008.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowflag008.utp new file mode 100644 index 0000000..ad30338 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowflag008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowflag009.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowflag009.utp new file mode 100644 index 0000000..fe53850 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowflag009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowflag010.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowflag010.utp new file mode 100644 index 0000000..44d6780 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowflag010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowflag011.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowflag011.utp new file mode 100644 index 0000000..9287989 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowflag011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd003.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd003.utp new file mode 100644 index 0000000..56c9ddc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd004.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd004.utp new file mode 100644 index 0000000..da96aaa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd005.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd005.utp new file mode 100644 index 0000000..08a73b6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd006.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd006.utp new file mode 100644 index 0000000..0d9f4e9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd007.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd007.utp new file mode 100644 index 0000000..6539575 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd008.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd008.utp new file mode 100644 index 0000000..5d0dcb0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd009.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd009.utp new file mode 100644 index 0000000..ab8a5da Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd010.utp b/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd010.utp new file mode 100644 index 0000000..4b6c9ee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drowplcrd010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_druidarmor.uti b/cep_blueprints/_hak/prc_add_sb/zep_druidarmor.uti new file mode 100644 index 0000000..45160f2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_druidarmor.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_druidstf.uti b/cep_blueprints/_hak/prc_add_sb/zep_druidstf.uti new file mode 100644 index 0000000..c4d64be Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_druidstf.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_druidstm.uti b/cep_blueprints/_hak/prc_add_sb/zep_druidstm.uti new file mode 100644 index 0000000..3154924 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_druidstm.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drum001.utp b/cep_blueprints/_hak/prc_add_sb/zep_drum001.utp new file mode 100644 index 0000000..d6ab954 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drum001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drumlarge.utp b/cep_blueprints/_hak/prc_add_sb/zep_drumlarge.utp new file mode 100644 index 0000000..0519e5a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drumlarge.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_drummedium.utp b/cep_blueprints/_hak/prc_add_sb/zep_drummedium.utp new file mode 100644 index 0000000..2d5eea3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_drummedium.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dspiderg.utc b/cep_blueprints/_hak/prc_add_sb/zep_dspiderg.utc new file mode 100644 index 0000000..6067bf6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dspiderg.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dspiderl.utc b/cep_blueprints/_hak/prc_add_sb/zep_dspiderl.utc new file mode 100644 index 0000000..93773af Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dspiderl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dspiderm.utc b/cep_blueprints/_hak/prc_add_sb/zep_dspiderm.utc new file mode 100644 index 0000000..a10671e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dspiderm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dspiders.utc b/cep_blueprints/_hak/prc_add_sb/zep_dspiders.utc new file mode 100644 index 0000000..3092d61 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dspiders.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dspidert.utc b/cep_blueprints/_hak/prc_add_sb/zep_dspidert.utc new file mode 100644 index 0000000..ab40a4e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dspidert.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dtyrnt_prop.uti b/cep_blueprints/_hak/prc_add_sb/zep_dtyrnt_prop.uti new file mode 100644 index 0000000..a133f95 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dtyrnt_prop.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dun.utp b/cep_blueprints/_hak/prc_add_sb/zep_dun.utp new file mode 100644 index 0000000..50f7174 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dun.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dungeonroof.utp b/cep_blueprints/_hak/prc_add_sb/zep_dungeonroof.utp new file mode 100644 index 0000000..6994853 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dungeonroof.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dunpuddingl.utc b/cep_blueprints/_hak/prc_add_sb/zep_dunpuddingl.utc new file mode 100644 index 0000000..a6267ec Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dunpuddingl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dunpuddingm.utc b/cep_blueprints/_hak/prc_add_sb/zep_dunpuddingm.utc new file mode 100644 index 0000000..4ffce81 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dunpuddingm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dunpuddings.utc b/cep_blueprints/_hak/prc_add_sb/zep_dunpuddings.utc new file mode 100644 index 0000000..218633a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dunpuddings.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dustman.utc b/cep_blueprints/_hak/prc_add_sb/zep_dustman.utc new file mode 100644 index 0000000..7c63900 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dustman.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dustman2.utc b/cep_blueprints/_hak/prc_add_sb/zep_dustman2.utc new file mode 100644 index 0000000..ca3b8ba Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dustman2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dustman3.utc b/cep_blueprints/_hak/prc_add_sb/zep_dustman3.utc new file mode 100644 index 0000000..f51055f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dustman3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dustman4.utc b/cep_blueprints/_hak/prc_add_sb/zep_dustman4.utc new file mode 100644 index 0000000..c96b56b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dustman4.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_dusty.utc b/cep_blueprints/_hak/prc_add_sb/zep_dusty.utc new file mode 100644 index 0000000..c6f20c0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_dusty.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_eagle.utc b/cep_blueprints/_hak/prc_add_sb/zep_eagle.utc new file mode 100644 index 0000000..b375ed8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_eagle.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elderxorn.utc b/cep_blueprints/_hak/prc_add_sb/zep_elderxorn.utc new file mode 100644 index 0000000..c6fd100 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elderxorn.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemairl.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemairl.utc new file mode 100644 index 0000000..c12e650 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemairl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemairm.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemairm.utc new file mode 100644 index 0000000..55ce447 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemairm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemairs.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemairs.utc new file mode 100644 index 0000000..dd8555d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemairs.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemashl.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemashl.utc new file mode 100644 index 0000000..2ac3846 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemashl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemashm.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemashm.utc new file mode 100644 index 0000000..4bd98d4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemashm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemashs.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemashs.utc new file mode 100644 index 0000000..48a0376 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemashs.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemdustl.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemdustl.utc new file mode 100644 index 0000000..7806a15 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemdustl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemdustm.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemdustm.utc new file mode 100644 index 0000000..5ee7050 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemdustm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemdusts.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemdusts.utc new file mode 100644 index 0000000..7d6a52d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemdusts.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemearthl.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemearthl.utc new file mode 100644 index 0000000..92dd31a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemearthl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemearthm.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemearthm.utc new file mode 100644 index 0000000..0480450 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemearthm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemearths.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemearths.utc new file mode 100644 index 0000000..d33b432 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemearths.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemfirel.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemfirel.utc new file mode 100644 index 0000000..f61b8eb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemfirel.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemfirem.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemfirem.utc new file mode 100644 index 0000000..3ecd8b5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemfirem.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemfires.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemfires.utc new file mode 100644 index 0000000..2bd7dd5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemfires.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemicel.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemicel.utc new file mode 100644 index 0000000..d31e624 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemicel.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemicem.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemicem.utc new file mode 100644 index 0000000..9293695 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemicem.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemices.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemices.utc new file mode 100644 index 0000000..1c147dd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemices.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemmagmal.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemmagmal.utc new file mode 100644 index 0000000..444b11a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemmagmal.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemmagmam.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemmagmam.utc new file mode 100644 index 0000000..03ac13e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemmagmam.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemmagmas.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemmagmas.utc new file mode 100644 index 0000000..562e4e1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemmagmas.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemminl.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemminl.utc new file mode 100644 index 0000000..ca4ee29 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemminl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemminm.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemminm.utc new file mode 100644 index 0000000..8e365ce Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemminm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemmins.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemmins.utc new file mode 100644 index 0000000..cd37ed5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemmins.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemoozel.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemoozel.utc new file mode 100644 index 0000000..f0df707 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemoozel.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemoozem.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemoozem.utc new file mode 100644 index 0000000..0df4298 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemoozem.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemoozes.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemoozes.utc new file mode 100644 index 0000000..7624161 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemoozes.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemradncl.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemradncl.utc new file mode 100644 index 0000000..afca9ac Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemradncl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemradncm.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemradncm.utc new file mode 100644 index 0000000..b92a5a9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemradncm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemradncs.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemradncs.utc new file mode 100644 index 0000000..ba5fc34 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemradncs.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemsaltl.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemsaltl.utc new file mode 100644 index 0000000..f9b7e69 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemsaltl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemsaltm.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemsaltm.utc new file mode 100644 index 0000000..097111e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemsaltm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemsalts.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemsalts.utc new file mode 100644 index 0000000..c358d40 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemsalts.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemsmokel.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemsmokel.utc new file mode 100644 index 0000000..9b030b4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemsmokel.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemsmokem.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemsmokem.utc new file mode 100644 index 0000000..3c37495 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemsmokem.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemsmokes.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemsmokes.utc new file mode 100644 index 0000000..a92e7b7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemsmokes.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemsteaml.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemsteaml.utc new file mode 100644 index 0000000..08d93f2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemsteaml.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemsteamm.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemsteamm.utc new file mode 100644 index 0000000..146f15a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemsteamm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemsteams.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemsteams.utc new file mode 100644 index 0000000..65f03b6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemsteams.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemvacuuml.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemvacuuml.utc new file mode 100644 index 0000000..24e7100 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemvacuuml.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemvacuumm.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemvacuumm.utc new file mode 100644 index 0000000..a7a7eed Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemvacuumm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemvacuums.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemvacuums.utc new file mode 100644 index 0000000..7a80512 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemvacuums.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemwaterl.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemwaterl.utc new file mode 100644 index 0000000..27fb209 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemwaterl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemwaterm.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemwaterm.utc new file mode 100644 index 0000000..a2dadd5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemwaterm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elemwaters.utc b/cep_blueprints/_hak/prc_add_sb/zep_elemwaters.utc new file mode 100644 index 0000000..0f3fadf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elemwaters.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_elephant.utc b/cep_blueprints/_hak/prc_add_sb/zep_elephant.utc new file mode 100644 index 0000000..144a6e7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_elephant.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_erbow_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_erbow_001.uti new file mode 100644 index 0000000..03eb499 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_erbow_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ergoo.utc b/cep_blueprints/_hak/prc_add_sb/zep_ergoo.utc new file mode 100644 index 0000000..6951a9f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ergoo.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_erinyes.utc b/cep_blueprints/_hak/prc_add_sb/zep_erinyes.utc new file mode 100644 index 0000000..d5ffc09 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_erinyes.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_erinyes2.utc b/cep_blueprints/_hak/prc_add_sb/zep_erinyes2.utc new file mode 100644 index 0000000..105b5fe Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_erinyes2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_erinyessw.uti b/cep_blueprints/_hak/prc_add_sb/zep_erinyessw.uti new file mode 100644 index 0000000..2e6c181 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_erinyessw.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_etherscarab.utc b/cep_blueprints/_hak/prc_add_sb/zep_etherscarab.utc new file mode 100644 index 0000000..7462509 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_etherscarab.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_evoker.uti b/cep_blueprints/_hak/prc_add_sb/zep_evoker.uti new file mode 100644 index 0000000..cf99cdd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_evoker.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_falchion.uti b/cep_blueprints/_hak/prc_add_sb/zep_falchion.uti new file mode 100644 index 0000000..a6ecc67 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_falchion.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fan.uti b/cep_blueprints/_hak/prc_add_sb/zep_fan.uti new file mode 100644 index 0000000..8594a27 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fan.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fell.utc b/cep_blueprints/_hak/prc_add_sb/zep_fell.utc new file mode 100644 index 0000000..ec38b48 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fell.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_femalekid002.utc b/cep_blueprints/_hak/prc_add_sb/zep_femalekid002.utc new file mode 100644 index 0000000..947072c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_femalekid002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_femalekid003.utc b/cep_blueprints/_hak/prc_add_sb/zep_femalekid003.utc new file mode 100644 index 0000000..e8d960e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_femalekid003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_femalekid004.utc b/cep_blueprints/_hak/prc_add_sb/zep_femalekid004.utc new file mode 100644 index 0000000..b2dcdee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_femalekid004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_femalekid005.utc b/cep_blueprints/_hak/prc_add_sb/zep_femalekid005.utc new file mode 100644 index 0000000..6f4762c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_femalekid005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_femalekid1.utc b/cep_blueprints/_hak/prc_add_sb/zep_femalekid1.utc new file mode 100644 index 0000000..8171140 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_femalekid1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fence.utp b/cep_blueprints/_hak/prc_add_sb/zep_fence.utp new file mode 100644 index 0000000..026f7b7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fence.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fence001.utp b/cep_blueprints/_hak/prc_add_sb/zep_fence001.utp new file mode 100644 index 0000000..7cca8f9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fence001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fence002.utp b/cep_blueprints/_hak/prc_add_sb/zep_fence002.utp new file mode 100644 index 0000000..571f3dc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fence002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fence003.utp b/cep_blueprints/_hak/prc_add_sb/zep_fence003.utp new file mode 100644 index 0000000..521b913 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fence003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fence004.utp b/cep_blueprints/_hak/prc_add_sb/zep_fence004.utp new file mode 100644 index 0000000..537ae0a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fence004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fence005.utp b/cep_blueprints/_hak/prc_add_sb/zep_fence005.utp new file mode 100644 index 0000000..307e389 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fence005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fence006.utp b/cep_blueprints/_hak/prc_add_sb/zep_fence006.utp new file mode 100644 index 0000000..f5b636a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fence006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fence007.utp b/cep_blueprints/_hak/prc_add_sb/zep_fence007.utp new file mode 100644 index 0000000..3e9a8eb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fence007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fence008.utp b/cep_blueprints/_hak/prc_add_sb/zep_fence008.utp new file mode 100644 index 0000000..76cbde1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fence008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fence009.utp b/cep_blueprints/_hak/prc_add_sb/zep_fence009.utp new file mode 100644 index 0000000..96bcf0c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fence009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fence010.utp b/cep_blueprints/_hak/prc_add_sb/zep_fence010.utp new file mode 100644 index 0000000..338024b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fence010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fence011.utp b/cep_blueprints/_hak/prc_add_sb/zep_fence011.utp new file mode 100644 index 0000000..abd58a4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fence011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fence012.utp b/cep_blueprints/_hak/prc_add_sb/zep_fence012.utp new file mode 100644 index 0000000..8d54d69 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fence012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fence013.utp b/cep_blueprints/_hak/prc_add_sb/zep_fence013.utp new file mode 100644 index 0000000..690ca60 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fence013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fencebroken.utp b/cep_blueprints/_hak/prc_add_sb/zep_fencebroken.utp new file mode 100644 index 0000000..66c0573 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fencebroken.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ferret.utc b/cep_blueprints/_hak/prc_add_sb/zep_ferret.utc new file mode 100644 index 0000000..f2e4278 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ferret.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_feyri.utc b/cep_blueprints/_hak/prc_add_sb/zep_feyri.utc new file mode 100644 index 0000000..91ae347 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_feyri.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fgold_frider.utc b/cep_blueprints/_hak/prc_add_sb/zep_fgold_frider.utc new file mode 100644 index 0000000..9b003c7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fgold_frider.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fgold_mrider.utc b/cep_blueprints/_hak/prc_add_sb/zep_fgold_mrider.utc new file mode 100644 index 0000000..cafcece Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fgold_mrider.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_field_crops.utp b/cep_blueprints/_hak/prc_add_sb/zep_field_crops.utp new file mode 100644 index 0000000..a7163c2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_field_crops.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_figure1.uti b/cep_blueprints/_hak/prc_add_sb/zep_figure1.uti new file mode 100644 index 0000000..61c5d89 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_figure1.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_firearch001.utp b/cep_blueprints/_hak/prc_add_sb/zep_firearch001.utp new file mode 100644 index 0000000..b24440e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_firearch001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_firearch002.utp b/cep_blueprints/_hak/prc_add_sb/zep_firearch002.utp new file mode 100644 index 0000000..332cbb8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_firearch002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_firebowl001.utp b/cep_blueprints/_hak/prc_add_sb/zep_firebowl001.utp new file mode 100644 index 0000000..dc179aa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_firebowl001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_firebowl002.utp b/cep_blueprints/_hak/prc_add_sb/zep_firebowl002.utp new file mode 100644 index 0000000..9213fa0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_firebowl002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_firebowl003.utp b/cep_blueprints/_hak/prc_add_sb/zep_firebowl003.utp new file mode 100644 index 0000000..b19c50c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_firebowl003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_firebowl004.utp b/cep_blueprints/_hak/prc_add_sb/zep_firebowl004.utp new file mode 100644 index 0000000..74bf7a4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_firebowl004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fireflies001.utp b/cep_blueprints/_hak/prc_add_sb/zep_fireflies001.utp new file mode 100644 index 0000000..2495ce7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fireflies001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_firepillr001.utp b/cep_blueprints/_hak/prc_add_sb/zep_firepillr001.utp new file mode 100644 index 0000000..7cd047c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_firepillr001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_firepillr002.utp b/cep_blueprints/_hak/prc_add_sb/zep_firepillr002.utp new file mode 100644 index 0000000..d43fe4a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_firepillr002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_firepillr003.utp b/cep_blueprints/_hak/prc_add_sb/zep_firepillr003.utp new file mode 100644 index 0000000..beff5b2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_firepillr003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fireplace001.utp b/cep_blueprints/_hak/prc_add_sb/zep_fireplace001.utp new file mode 100644 index 0000000..aa04dd8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fireplace001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fireplace002.utp b/cep_blueprints/_hak/prc_add_sb/zep_fireplace002.utp new file mode 100644 index 0000000..610bc69 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fireplace002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fireplace003.utp b/cep_blueprints/_hak/prc_add_sb/zep_fireplace003.utp new file mode 100644 index 0000000..c7b25f4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fireplace003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fireplace004.utp b/cep_blueprints/_hak/prc_add_sb/zep_fireplace004.utp new file mode 100644 index 0000000..6d50a8b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fireplace004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fireplace005.utp b/cep_blueprints/_hak/prc_add_sb/zep_fireplace005.utp new file mode 100644 index 0000000..3cf4d39 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fireplace005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fireplace006.utp b/cep_blueprints/_hak/prc_add_sb/zep_fireplace006.utp new file mode 100644 index 0000000..22cf447 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fireplace006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_firestat001.utp b/cep_blueprints/_hak/prc_add_sb/zep_firestat001.utp new file mode 100644 index 0000000..29c8263 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_firestat001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fish.utp b/cep_blueprints/_hak/prc_add_sb/zep_fish.utp new file mode 100644 index 0000000..6c4604b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fish.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fish001.utp b/cep_blueprints/_hak/prc_add_sb/zep_fish001.utp new file mode 100644 index 0000000..34ecc25 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fish001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fish002.utp b/cep_blueprints/_hak/prc_add_sb/zep_fish002.utp new file mode 100644 index 0000000..f95b43d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fish002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fish003.utp b/cep_blueprints/_hak/prc_add_sb/zep_fish003.utp new file mode 100644 index 0000000..ae3e7b4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fish003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fish004.utp b/cep_blueprints/_hak/prc_add_sb/zep_fish004.utp new file mode 100644 index 0000000..5874344 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fish004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fish_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_fish_001.utc new file mode 100644 index 0000000..02233ed Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fish_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fish_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_fish_002.utc new file mode 100644 index 0000000..616c8c5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fish_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fish_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_fish_003.utc new file mode 100644 index 0000000..afcdcd8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fish_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fish_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_fish_004.utc new file mode 100644 index 0000000..87c1820 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fish_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fish_005.utc b/cep_blueprints/_hak/prc_add_sb/zep_fish_005.utc new file mode 100644 index 0000000..b33c74a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fish_005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fish_006.utc b/cep_blueprints/_hak/prc_add_sb/zep_fish_006.utc new file mode 100644 index 0000000..f436bf4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fish_006.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fisher.utc b/cep_blueprints/_hak/prc_add_sb/zep_fisher.utc new file mode 100644 index 0000000..a1d63c4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fisher.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fissure_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_fissure_001.utp new file mode 100644 index 0000000..84c10d5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fissure_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fissure_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_fissure_002.utp new file mode 100644 index 0000000..9e43b46 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fissure_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fissure_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_fissure_003.utp new file mode 100644 index 0000000..ad3bead Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fissure_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fissure_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_fissure_004.utp new file mode 100644 index 0000000..cc20f8e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fissure_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fissure_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_fissure_005.utp new file mode 100644 index 0000000..3970624 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fissure_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fissure_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_fissure_006.utp new file mode 100644 index 0000000..3f9455d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fissure_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fissure_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_fissure_007.utp new file mode 100644 index 0000000..692f719 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fissure_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fissure_008.utp b/cep_blueprints/_hak/prc_add_sb/zep_fissure_008.utp new file mode 100644 index 0000000..313ec2e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fissure_008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fissure_009.utp b/cep_blueprints/_hak/prc_add_sb/zep_fissure_009.utp new file mode 100644 index 0000000..eac98a6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fissure_009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fissure_010.utp b/cep_blueprints/_hak/prc_add_sb/zep_fissure_010.utp new file mode 100644 index 0000000..7f593a8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fissure_010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fissure_011.utp b/cep_blueprints/_hak/prc_add_sb/zep_fissure_011.utp new file mode 100644 index 0000000..4cfc715 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fissure_011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fissure_012.utp b/cep_blueprints/_hak/prc_add_sb/zep_fissure_012.utp new file mode 100644 index 0000000..36ad064 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fissure_012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fissure_013.utp b/cep_blueprints/_hak/prc_add_sb/zep_fissure_013.utp new file mode 100644 index 0000000..4e6bc9f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fissure_013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fissure_014.utp b/cep_blueprints/_hak/prc_add_sb/zep_fissure_014.utp new file mode 100644 index 0000000..090c915 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fissure_014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fissure_015.utp b/cep_blueprints/_hak/prc_add_sb/zep_fissure_015.utp new file mode 100644 index 0000000..a6998ff Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fissure_015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fissure_016.utp b/cep_blueprints/_hak/prc_add_sb/zep_fissure_016.utp new file mode 100644 index 0000000..01fe0b3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fissure_016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fissure_017.utp b/cep_blueprints/_hak/prc_add_sb/zep_fissure_017.utp new file mode 100644 index 0000000..dfd8db1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fissure_017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fissure_018.utp b/cep_blueprints/_hak/prc_add_sb/zep_fissure_018.utp new file mode 100644 index 0000000..6ef5789 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fissure_018.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fist001.utp b/cep_blueprints/_hak/prc_add_sb/zep_fist001.utp new file mode 100644 index 0000000..25d34ed Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fist001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fist002.utp b/cep_blueprints/_hak/prc_add_sb/zep_fist002.utp new file mode 100644 index 0000000..9277212 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fist002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fist003.utp b/cep_blueprints/_hak/prc_add_sb/zep_fist003.utp new file mode 100644 index 0000000..e0dc91d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fist003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flag.utp b/cep_blueprints/_hak/prc_add_sb/zep_flag.utp new file mode 100644 index 0000000..8ec8207 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flag.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flag001.utp b/cep_blueprints/_hak/prc_add_sb/zep_flag001.utp new file mode 100644 index 0000000..5f503df Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flag001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flag002.utp b/cep_blueprints/_hak/prc_add_sb/zep_flag002.utp new file mode 100644 index 0000000..a83d8fd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flag002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flag003.utp b/cep_blueprints/_hak/prc_add_sb/zep_flag003.utp new file mode 100644 index 0000000..5014e23 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flag003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flag004.utp b/cep_blueprints/_hak/prc_add_sb/zep_flag004.utp new file mode 100644 index 0000000..2daf525 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flag004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flag005.utp b/cep_blueprints/_hak/prc_add_sb/zep_flag005.utp new file mode 100644 index 0000000..668d011 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flag005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flag006.utp b/cep_blueprints/_hak/prc_add_sb/zep_flag006.utp new file mode 100644 index 0000000..9f2b27f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flag006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flag007.utp b/cep_blueprints/_hak/prc_add_sb/zep_flag007.utp new file mode 100644 index 0000000..52b6cb6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flag007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flag008.utp b/cep_blueprints/_hak/prc_add_sb/zep_flag008.utp new file mode 100644 index 0000000..2258d63 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flag008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flag009.utp b/cep_blueprints/_hak/prc_add_sb/zep_flag009.utp new file mode 100644 index 0000000..e0c1226 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flag009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flag010.utp b/cep_blueprints/_hak/prc_add_sb/zep_flag010.utp new file mode 100644 index 0000000..cfad1a6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flag010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flag011.utp b/cep_blueprints/_hak/prc_add_sb/zep_flag011.utp new file mode 100644 index 0000000..b9ceaf6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flag011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flag012.utp b/cep_blueprints/_hak/prc_add_sb/zep_flag012.utp new file mode 100644 index 0000000..76afc26 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flag012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flag013.utp b/cep_blueprints/_hak/prc_add_sb/zep_flag013.utp new file mode 100644 index 0000000..73b96b3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flag013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flag014.utp b/cep_blueprints/_hak/prc_add_sb/zep_flag014.utp new file mode 100644 index 0000000..f15b900 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flag014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flag015.utp b/cep_blueprints/_hak/prc_add_sb/zep_flag015.utp new file mode 100644 index 0000000..a6800e0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flag015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flagazuth001.utp b/cep_blueprints/_hak/prc_add_sb/zep_flagazuth001.utp new file mode 100644 index 0000000..537bc10 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flagazuth001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flagbane001.utp b/cep_blueprints/_hak/prc_add_sb/zep_flagbane001.utp new file mode 100644 index 0000000..ebfdef8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flagbane001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flagcyric001.utp b/cep_blueprints/_hak/prc_add_sb/zep_flagcyric001.utp new file mode 100644 index 0000000..a547fda Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flagcyric001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flaghelm001.utp b/cep_blueprints/_hak/prc_add_sb/zep_flaghelm001.utp new file mode 100644 index 0000000..e2b5f6e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flaghelm001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flagstandard.uti b/cep_blueprints/_hak/prc_add_sb/zep_flagstandard.uti new file mode 100644 index 0000000..05699fa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flagstandard.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flagsune001.utp b/cep_blueprints/_hak/prc_add_sb/zep_flagsune001.utp new file mode 100644 index 0000000..bede183 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flagsune001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flagtorm001.utp b/cep_blueprints/_hak/prc_add_sb/zep_flagtorm001.utp new file mode 100644 index 0000000..cadd836 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flagtorm001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flagtyr001.utp b/cep_blueprints/_hak/prc_add_sb/zep_flagtyr001.utp new file mode 100644 index 0000000..afe5c14 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flagtyr001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flerinyes1.utc b/cep_blueprints/_hak/prc_add_sb/zep_flerinyes1.utc new file mode 100644 index 0000000..bd45034 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flerinyes1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flerprop.uti b/cep_blueprints/_hak/prc_add_sb/zep_flerprop.uti new file mode 100644 index 0000000..7b172dd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flerprop.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flgdgnclt001.utp b/cep_blueprints/_hak/prc_add_sb/zep_flgdgnclt001.utp new file mode 100644 index 0000000..9f498c0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flgdgnclt001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flgloviatr01.utp b/cep_blueprints/_hak/prc_add_sb/zep_flgloviatr01.utp new file mode 100644 index 0000000..c7848af Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flgloviatr01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flglthndr001.utp b/cep_blueprints/_hak/prc_add_sb/zep_flglthndr001.utp new file mode 100644 index 0000000..650c057 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flglthndr001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flgmystra001.utp b/cep_blueprints/_hak/prc_add_sb/zep_flgmystra001.utp new file mode 100644 index 0000000..21f4924 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flgmystra001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flgrdwzrd001.utp b/cep_blueprints/_hak/prc_add_sb/zep_flgrdwzrd001.utp new file mode 100644 index 0000000..08bc3c3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flgrdwzrd001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flgslvrrv001.utp b/cep_blueprints/_hak/prc_add_sb/zep_flgslvrrv001.utp new file mode 100644 index 0000000..b065d5d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flgslvrrv001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flgtempus001.utp b/cep_blueprints/_hak/prc_add_sb/zep_flgtempus001.utp new file mode 100644 index 0000000..6a98da4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flgtempus001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flgtymora001.utp b/cep_blueprints/_hak/prc_add_sb/zep_flgtymora001.utp new file mode 100644 index 0000000..d5b52ff Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flgtymora001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flgwaukeen01.utp b/cep_blueprints/_hak/prc_add_sb/zep_flgwaukeen01.utp new file mode 100644 index 0000000..04b58a1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flgwaukeen01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers.utp new file mode 100644 index 0000000..036677f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers001.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers001.utp new file mode 100644 index 0000000..ba9aa84 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers002.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers002.utp new file mode 100644 index 0000000..c66b5a5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers003.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers003.utp new file mode 100644 index 0000000..2ba9d4a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers004.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers004.utp new file mode 100644 index 0000000..796591a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers005.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers005.utp new file mode 100644 index 0000000..1ed8013 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers006.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers006.utp new file mode 100644 index 0000000..5c84dde Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers007.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers007.utp new file mode 100644 index 0000000..77cff04 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers008.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers008.utp new file mode 100644 index 0000000..7a2c039 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers009.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers009.utp new file mode 100644 index 0000000..8d98f5b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers010.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers010.utp new file mode 100644 index 0000000..e3612cd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers011.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers011.utp new file mode 100644 index 0000000..739343f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers012.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers012.utp new file mode 100644 index 0000000..6120d3c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers013.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers013.utp new file mode 100644 index 0000000..2775ca6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers014.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers014.utp new file mode 100644 index 0000000..09de62f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers015.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers015.utp new file mode 100644 index 0000000..68ec4f2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers016.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers016.utp new file mode 100644 index 0000000..4dfface Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers017.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers017.utp new file mode 100644 index 0000000..abe9c25 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers018.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers018.utp new file mode 100644 index 0000000..7bd13d2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers018.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flowers019.utp b/cep_blueprints/_hak/prc_add_sb/zep_flowers019.utp new file mode 100644 index 0000000..e2f7c36 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flowers019.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flrdesgns002.utp b/cep_blueprints/_hak/prc_add_sb/zep_flrdesgns002.utp new file mode 100644 index 0000000..ed70af6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flrdesgns002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flrlntrn001.utp b/cep_blueprints/_hak/prc_add_sb/zep_flrlntrn001.utp new file mode 100644 index 0000000..6942b83 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flrlntrn001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flrlntrn002.utp b/cep_blueprints/_hak/prc_add_sb/zep_flrlntrn002.utp new file mode 100644 index 0000000..152a31b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flrlntrn002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flsucc_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_flsucc_001.utc new file mode 100644 index 0000000..da652a7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flsucc_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flvampf_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_flvampf_001.utc new file mode 100644 index 0000000..f616f36 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flvampf_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flvampm_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_flvampm_001.utc new file mode 100644 index 0000000..9e9a8c3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flvampm_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fly.utc b/cep_blueprints/_hak/prc_add_sb/zep_fly.utc new file mode 100644 index 0000000..940989c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fly.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flyeye.utc b/cep_blueprints/_hak/prc_add_sb/zep_flyeye.utc new file mode 100644 index 0000000..5305c0e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flyeye.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_flyingsnake.utc b/cep_blueprints/_hak/prc_add_sb/zep_flyingsnake.utc new file mode 100644 index 0000000..39024e6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_flyingsnake.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fog.utp b/cep_blueprints/_hak/prc_add_sb/zep_fog.utp new file mode 100644 index 0000000..bbce946 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fog.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fog001.utp b/cep_blueprints/_hak/prc_add_sb/zep_fog001.utp new file mode 100644 index 0000000..a46945f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fog001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fog002.utp b/cep_blueprints/_hak/prc_add_sb/zep_fog002.utp new file mode 100644 index 0000000..738d14d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fog002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fog003.utp b/cep_blueprints/_hak/prc_add_sb/zep_fog003.utp new file mode 100644 index 0000000..e7be7ab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fog003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_foot001.utp b/cep_blueprints/_hak/prc_add_sb/zep_foot001.utp new file mode 100644 index 0000000..6887205 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_foot001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_foot002.utp b/cep_blueprints/_hak/prc_add_sb/zep_foot002.utp new file mode 100644 index 0000000..0c0fb97 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_foot002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_foppish.uti b/cep_blueprints/_hak/prc_add_sb/zep_foppish.uti new file mode 100644 index 0000000..d289b0f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_foppish.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_forge.utp b/cep_blueprints/_hak/prc_add_sb/zep_forge.utp new file mode 100644 index 0000000..a0e5eaa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_forge.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_forge001.utp b/cep_blueprints/_hak/prc_add_sb/zep_forge001.utp new file mode 100644 index 0000000..3a13fe4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_forge001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_formalkilt.uti b/cep_blueprints/_hak/prc_add_sb/zep_formalkilt.uti new file mode 100644 index 0000000..ea07b4a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_formalkilt.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fort.utp b/cep_blueprints/_hak/prc_add_sb/zep_fort.utp new file mode 100644 index 0000000..617c572 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fort.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fountain002.utp b/cep_blueprints/_hak/prc_add_sb/zep_fountain002.utp new file mode 100644 index 0000000..088e833 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fountain002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fountain003.utp b/cep_blueprints/_hak/prc_add_sb/zep_fountain003.utp new file mode 100644 index 0000000..77c1990 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fountain003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fountain004.utp b/cep_blueprints/_hak/prc_add_sb/zep_fountain004.utp new file mode 100644 index 0000000..f4dbaa9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fountain004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fountain005.utp b/cep_blueprints/_hak/prc_add_sb/zep_fountain005.utp new file mode 100644 index 0000000..15350f9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fountain005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fountain006.utp b/cep_blueprints/_hak/prc_add_sb/zep_fountain006.utp new file mode 100644 index 0000000..f6291a2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fountain006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fox_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_fox_001.utc new file mode 100644 index 0000000..2d447aa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fox_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fox_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_fox_002.utc new file mode 100644 index 0000000..3b50312 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fox_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fox_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_fox_003.utc new file mode 100644 index 0000000..3f227a2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fox_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_freadrss_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_freadrss_001.uti new file mode 100644 index 0000000..925c454 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_freadrss_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_freeskel.utp b/cep_blueprints/_hak/prc_add_sb/zep_freeskel.utp new file mode 100644 index 0000000..76024ce Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_freeskel.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_freeskelx.utp b/cep_blueprints/_hak/prc_add_sb/zep_freeskelx.utp new file mode 100644 index 0000000..68b1921 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_freeskelx.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_frog_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_frog_001.utc new file mode 100644 index 0000000..cc32d05 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_frog_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_frog_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_frog_002.utc new file mode 100644 index 0000000..402cb32 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_frog_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_frog_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_frog_003.utc new file mode 100644 index 0000000..8e8d01c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_frog_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_frog_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_frog_004.utc new file mode 100644 index 0000000..3151842 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_frog_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_frog_005.utc b/cep_blueprints/_hak/prc_add_sb/zep_frog_005.utc new file mode 100644 index 0000000..445ff09 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_frog_005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_frog_006.utc b/cep_blueprints/_hak/prc_add_sb/zep_frog_006.utc new file mode 100644 index 0000000..00e4d7b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_frog_006.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_frog_007.utc b/cep_blueprints/_hak/prc_add_sb/zep_frog_007.utc new file mode 100644 index 0000000..2fa7d1b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_frog_007.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_frog_008.utc b/cep_blueprints/_hak/prc_add_sb/zep_frog_008.utc new file mode 100644 index 0000000..183672e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_frog_008.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_frog_009.utc b/cep_blueprints/_hak/prc_add_sb/zep_frog_009.utc new file mode 100644 index 0000000..924ae7a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_frog_009.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_frog_010.utc b/cep_blueprints/_hak/prc_add_sb/zep_frog_010.utc new file mode 100644 index 0000000..bd5253c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_frog_010.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_frog_011.utc b/cep_blueprints/_hak/prc_add_sb/zep_frog_011.utc new file mode 100644 index 0000000..caec8d1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_frog_011.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_frog_012.utc b/cep_blueprints/_hak/prc_add_sb/zep_frog_012.utc new file mode 100644 index 0000000..269b07e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_frog_012.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_frog_013.utc b/cep_blueprints/_hak/prc_add_sb/zep_frog_013.utc new file mode 100644 index 0000000..ed2cbf3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_frog_013.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_frostgobchie.utc b/cep_blueprints/_hak/prc_add_sb/zep_frostgobchie.utc new file mode 100644 index 0000000..ee38323 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_frostgobchie.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_frostgoblin.utc b/cep_blueprints/_hak/prc_add_sb/zep_frostgoblin.utc new file mode 100644 index 0000000..f49f5ff Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_frostgoblin.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_frostgobwiz.utc b/cep_blueprints/_hak/prc_add_sb/zep_frostgobwiz.utc new file mode 100644 index 0000000..9a78d93 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_frostgobwiz.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_frostorc.utc b/cep_blueprints/_hak/prc_add_sb/zep_frostorc.utc new file mode 100644 index 0000000..f52d9af Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_frostorc.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_frostorcch.utc b/cep_blueprints/_hak/prc_add_sb/zep_frostorcch.utc new file mode 100644 index 0000000..e31c46e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_frostorcch.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_frostorcsh.utc b/cep_blueprints/_hak/prc_add_sb/zep_frostorcsh.utc new file mode 100644 index 0000000..9996dda Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_frostorcsh.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fruit001.utp b/cep_blueprints/_hak/prc_add_sb/zep_fruit001.utp new file mode 100644 index 0000000..09e36ea Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fruit001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fruit002.utp b/cep_blueprints/_hak/prc_add_sb/zep_fruit002.utp new file mode 100644 index 0000000..8d96233 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fruit002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_fsanddog.utc b/cep_blueprints/_hak/prc_add_sb/zep_fsanddog.utc new file mode 100644 index 0000000..68d6dc4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_fsanddog.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_g0_convpripl.ncs b/cep_blueprints/_hak/prc_add_sb/zep_g0_convpripl.ncs new file mode 100644 index 0000000..29224d1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_g0_convpripl.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_g0_convpripl.nss b/cep_blueprints/_hak/prc_add_sb/zep_g0_convpripl.nss new file mode 100644 index 0000000..0394307 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_g0_convpripl.nss @@ -0,0 +1,26 @@ +//:://///////////////////////////////////////////// +//:: zep_g0_convpripl +//::////////////////////////////////////////////// +/* + Cause a placeable object to start a + private conversation with the PC. + (Private conversations seem more appropriate for + conversations with no spoken words, such as one + that describes interactions with an object.) + + Use this script as the OnUsed event + of a placeable object that is flagged as + useable, has NO inventory, and is NOT static. + + c.f. nw_g0_convplac.nss +*/ +//::////////////////////////////////////////////// +//:: Created By: The Krit +//:: Created On: Jan 08, 2008 +//:: Based on nw_g0_convplac by Sydney Tang (BioWare) +//::////////////////////////////////////////////// + +void main() +{ + ActionStartConversation(GetLastUsedBy(), "", TRUE, FALSE); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gaffer1.utc b/cep_blueprints/_hak/prc_add_sb/zep_gaffer1.utc new file mode 100644 index 0000000..26df7b4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gaffer1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gaffer2.utc b/cep_blueprints/_hak/prc_add_sb/zep_gaffer2.utc new file mode 100644 index 0000000..8c8a870 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gaffer2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_galleryshed.utp b/cep_blueprints/_hak/prc_add_sb/zep_galleryshed.utp new file mode 100644 index 0000000..dc33a54 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_galleryshed.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gallows001.utp b/cep_blueprints/_hak/prc_add_sb/zep_gallows001.utp new file mode 100644 index 0000000..78a329e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gallows001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gantfire.utc b/cep_blueprints/_hak/prc_add_sb/zep_gantfire.utc new file mode 100644 index 0000000..31afe3f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gantfire.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gantguard.utc b/cep_blueprints/_hak/prc_add_sb/zep_gantguard.utc new file mode 100644 index 0000000..b07771a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gantguard.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ganthvqueen.utc b/cep_blueprints/_hak/prc_add_sb/zep_ganthvqueen.utc new file mode 100644 index 0000000..3aa435e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ganthvqueen.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gantlarva.utc b/cep_blueprints/_hak/prc_add_sb/zep_gantlarva.utc new file mode 100644 index 0000000..16eb8b6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gantlarva.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gantqueen.utc b/cep_blueprints/_hak/prc_add_sb/zep_gantqueen.utc new file mode 100644 index 0000000..4c58f0e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gantqueen.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gantsoldier.utc b/cep_blueprints/_hak/prc_add_sb/zep_gantsoldier.utc new file mode 100644 index 0000000..466da56 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gantsoldier.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gardenstn001.utp b/cep_blueprints/_hak/prc_add_sb/zep_gardenstn001.utp new file mode 100644 index 0000000..be4ddad Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gardenstn001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gardenstn002.utp b/cep_blueprints/_hak/prc_add_sb/zep_gardenstn002.utp new file mode 100644 index 0000000..e178f1d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gardenstn002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gardenstn003.utp b/cep_blueprints/_hak/prc_add_sb/zep_gardenstn003.utp new file mode 100644 index 0000000..e6a5c1a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gardenstn003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gateblock001.utp b/cep_blueprints/_hak/prc_add_sb/zep_gateblock001.utp new file mode 100644 index 0000000..41fb901 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gateblock001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gateblock003.utp b/cep_blueprints/_hak/prc_add_sb/zep_gateblock003.utp new file mode 100644 index 0000000..a9ecf71 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gateblock003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gateblock004.utp b/cep_blueprints/_hak/prc_add_sb/zep_gateblock004.utp new file mode 100644 index 0000000..04147c1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gateblock004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gateblock005.utp b/cep_blueprints/_hak/prc_add_sb/zep_gateblock005.utp new file mode 100644 index 0000000..028a261 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gateblock005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gateblock006.utp b/cep_blueprints/_hak/prc_add_sb/zep_gateblock006.utp new file mode 100644 index 0000000..9f32e4a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gateblock006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gateblock007.utp b/cep_blueprints/_hak/prc_add_sb/zep_gateblock007.utp new file mode 100644 index 0000000..4b768e9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gateblock007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gateblock008.utp b/cep_blueprints/_hak/prc_add_sb/zep_gateblock008.utp new file mode 100644 index 0000000..6f3b472 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gateblock008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gateblock009.utp b/cep_blueprints/_hak/prc_add_sb/zep_gateblock009.utp new file mode 100644 index 0000000..652d520 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gateblock009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gateblock010.utp b/cep_blueprints/_hak/prc_add_sb/zep_gateblock010.utp new file mode 100644 index 0000000..ff4f5f2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gateblock010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gateblock011.utp b/cep_blueprints/_hak/prc_add_sb/zep_gateblock011.utp new file mode 100644 index 0000000..d11116f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gateblock011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gauche.uti b/cep_blueprints/_hak/prc_add_sb/zep_gauche.uti new file mode 100644 index 0000000..f9650e2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gauche.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gazelle.utc b/cep_blueprints/_hak/prc_add_sb/zep_gazelle.utc new file mode 100644 index 0000000..548221d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gazelle.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_geiser001.utp b/cep_blueprints/_hak/prc_add_sb/zep_geiser001.utp new file mode 100644 index 0000000..d5e3d9c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_geiser001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_geiser002.utp b/cep_blueprints/_hak/prc_add_sb/zep_geiser002.utp new file mode 100644 index 0000000..2788762 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_geiser002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_geiser003.utp b/cep_blueprints/_hak/prc_add_sb/zep_geiser003.utp new file mode 100644 index 0000000..1e8e613 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_geiser003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_geiser004.utp b/cep_blueprints/_hak/prc_add_sb/zep_geiser004.utp new file mode 100644 index 0000000..539ea19 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_geiser004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gelugon.utc b/cep_blueprints/_hak/prc_add_sb/zep_gelugon.utc new file mode 100644 index 0000000..4be9bd2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gelugon.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gempouch.uti b/cep_blueprints/_hak/prc_add_sb/zep_gempouch.uti new file mode 100644 index 0000000..9874a29 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gempouch.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_genie_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_genie_001.utc new file mode 100644 index 0000000..0b9e4b4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_genie_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_genie_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_genie_002.utc new file mode 100644 index 0000000..aae63b6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_genie_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_genie_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_genie_003.utc new file mode 100644 index 0000000..bccb10b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_genie_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_genie_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_genie_004.utc new file mode 100644 index 0000000..fe551fd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_genie_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_genie_005.utc b/cep_blueprints/_hak/prc_add_sb/zep_genie_005.utc new file mode 100644 index 0000000..b8550b4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_genie_005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_genie_006.utc b/cep_blueprints/_hak/prc_add_sb/zep_genie_006.utc new file mode 100644 index 0000000..8d85822 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_genie_006.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghag_claw.uti b/cep_blueprints/_hak/prc_add_sb/zep_ghag_claw.uti new file mode 100644 index 0000000..31b9413 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghag_claw.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghag_prop.uti b/cep_blueprints/_hak/prc_add_sb/zep_ghag_prop.uti new file mode 100644 index 0000000..87bade8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghag_prop.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghostf_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_001.utc new file mode 100644 index 0000000..d896ccb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghostf_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_002.utc new file mode 100644 index 0000000..b7ef7ef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghostf_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_003.utc new file mode 100644 index 0000000..68648fa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghostf_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_004.utc new file mode 100644 index 0000000..7b79106 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghostf_005.utc b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_005.utc new file mode 100644 index 0000000..22564b6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghostf_006.utc b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_006.utc new file mode 100644 index 0000000..420d26b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_006.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghostf_007.utc b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_007.utc new file mode 100644 index 0000000..8c72a42 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_007.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghostf_008.utc b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_008.utc new file mode 100644 index 0000000..33d3cf1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_008.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghostf_009.utc b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_009.utc new file mode 100644 index 0000000..cce2843 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_009.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghostf_010.utc b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_010.utc new file mode 100644 index 0000000..1d01c6c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_010.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghostf_011.utc b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_011.utc new file mode 100644 index 0000000..d818084 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_011.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghostf_012.utc b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_012.utc new file mode 100644 index 0000000..f50c037 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_012.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghostf_013.utc b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_013.utc new file mode 100644 index 0000000..3952c60 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_013.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghostf_014.utc b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_014.utc new file mode 100644 index 0000000..c019299 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_014.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghostf_015.utc b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_015.utc new file mode 100644 index 0000000..d29bf5e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_015.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghostf_016.utc b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_016.utc new file mode 100644 index 0000000..137276c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_016.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghostf_017.utc b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_017.utc new file mode 100644 index 0000000..aed6246 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_017.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghostf_018.utc b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_018.utc new file mode 100644 index 0000000..661e148 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghostf_018.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ghostpirate.utc b/cep_blueprints/_hak/prc_add_sb/zep_ghostpirate.utc new file mode 100644 index 0000000..932e025 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ghostpirate.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_giantantwork.utc b/cep_blueprints/_hak/prc_add_sb/zep_giantantwork.utc new file mode 100644 index 0000000..46c0547 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_giantantwork.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_giantfern.utp b/cep_blueprints/_hak/prc_add_sb/zep_giantfern.utp new file mode 100644 index 0000000..b09bea5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_giantfern.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_giantsword.utp b/cep_blueprints/_hak/prc_add_sb/zep_giantsword.utp new file mode 100644 index 0000000..edd8c66 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_giantsword.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gibber_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_gibber_001.utc new file mode 100644 index 0000000..57f4792 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gibber_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gibber_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_gibber_002.utc new file mode 100644 index 0000000..3cbaa28 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gibber_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_glabrezu.utc b/cep_blueprints/_hak/prc_add_sb/zep_glabrezu.utc new file mode 100644 index 0000000..6e282be Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_glabrezu.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_globe.utp b/cep_blueprints/_hak/prc_add_sb/zep_globe.utp new file mode 100644 index 0000000..71afe94 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_globe.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gnarledstaff.uti b/cep_blueprints/_hak/prc_add_sb/zep_gnarledstaff.uti new file mode 100644 index 0000000..ca28d34 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gnarledstaff.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gntcrossbow.utp b/cep_blueprints/_hak/prc_add_sb/zep_gntcrossbow.utp new file mode 100644 index 0000000..ca45bdf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gntcrossbow.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gntfirea_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_gntfirea_001.utc new file mode 100644 index 0000000..32b28d2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gntfirea_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gntfirec_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_gntfirec_001.utc new file mode 100644 index 0000000..f5d7567 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gntfirec_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gntfirek_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_gntfirek_001.utc new file mode 100644 index 0000000..7801d84 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gntfirek_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gntfrsta_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_gntfrsta_001.utc new file mode 100644 index 0000000..baaf4ba Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gntfrsta_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gntfrstc_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_gntfrstc_001.utc new file mode 100644 index 0000000..62a47d3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gntfrstc_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gntfrstj_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_gntfrstj_001.utc new file mode 100644 index 0000000..cd84527 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gntfrstj_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gntfrsts_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_gntfrsts_001.utc new file mode 100644 index 0000000..a5a8624 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gntfrsts_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gntfrstw_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_gntfrstw_001.utc new file mode 100644 index 0000000..2306cb5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gntfrstw_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gnthillc_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_gnthillc_001.utc new file mode 100644 index 0000000..4e52fca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gnthillc_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gntmntc_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_gntmntc_001.utc new file mode 100644 index 0000000..30bfd84 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gntmntc_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gntstone_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_gntstone_001.utc new file mode 100644 index 0000000..1c6f120 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gntstone_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_goad.uti b/cep_blueprints/_hak/prc_add_sb/zep_goad.uti new file mode 100644 index 0000000..79aef9b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_goad.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_goat_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_goat_001.utc new file mode 100644 index 0000000..6c983b5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_goat_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_goat_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_goat_002.utc new file mode 100644 index 0000000..9e06e56 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_goat_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_goat_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_goat_003.utc new file mode 100644 index 0000000..5966b4c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_goat_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gob_worg_spw.ncs b/cep_blueprints/_hak/prc_add_sb/zep_gob_worg_spw.ncs new file mode 100644 index 0000000..4cb9450 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gob_worg_spw.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gob_worg_spw.nss b/cep_blueprints/_hak/prc_add_sb/zep_gob_worg_spw.nss new file mode 100644 index 0000000..e292cab --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_gob_worg_spw.nss @@ -0,0 +1,75 @@ +//:://///////////////////////////////////////////// +//:: Default: On Spawn In +//:: NW_C2_DEFAULT9 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 25, 2001 +//::////////////////////////////////////////////// +#include "NW_O2_CONINCLUDE" +#include "NW_I0_GENERIC" + +void main() +{ +// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING); + //SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION); + //SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS); + SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + +// CUSTOM USER DEFINED EVENTS +/* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 +*/ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + +// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) ***************************************************************************************** + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + GenerateNPCTreasure(); //* Use this to create a small amount of treasure on the creature +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_goblet.utp b/cep_blueprints/_hak/prc_add_sb/zep_goblet.utp new file mode 100644 index 0000000..6041659 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_goblet.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_goblin.utc b/cep_blueprints/_hak/prc_add_sb/zep_goblin.utc new file mode 100644 index 0000000..395f467 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_goblin.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_goblin.uti b/cep_blueprints/_hak/prc_add_sb/zep_goblin.uti new file mode 100644 index 0000000..738ef86 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_goblin.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_goblinbargh.utc b/cep_blueprints/_hak/prc_add_sb/zep_goblinbargh.utc new file mode 100644 index 0000000..4458ff4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_goblinbargh.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_goblinbarghg.utc b/cep_blueprints/_hak/prc_add_sb/zep_goblinbarghg.utc new file mode 100644 index 0000000..9ae3a9c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_goblinbarghg.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_goblinbes.utc b/cep_blueprints/_hak/prc_add_sb/zep_goblinbes.utc new file mode 100644 index 0000000..308b210 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_goblinbes.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_goblinboss.utc b/cep_blueprints/_hak/prc_add_sb/zep_goblinboss.utc new file mode 100644 index 0000000..5e58c34 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_goblinboss.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_goblinscout.utc b/cep_blueprints/_hak/prc_add_sb/zep_goblinscout.utc new file mode 100644 index 0000000..07e4885 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_goblinscout.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_goblinsha.utc b/cep_blueprints/_hak/prc_add_sb/zep_goblinsha.utc new file mode 100644 index 0000000..aa9786e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_goblinsha.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_goblinworgg.utc b/cep_blueprints/_hak/prc_add_sb/zep_goblinworgg.utc new file mode 100644 index 0000000..c73999b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_goblinworgg.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_goblinworgr.utc b/cep_blueprints/_hak/prc_add_sb/zep_goblinworgr.utc new file mode 100644 index 0000000..04fa862 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_goblinworgr.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_goblinworgrw.utc b/cep_blueprints/_hak/prc_add_sb/zep_goblinworgrw.utc new file mode 100644 index 0000000..9b69245 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_goblinworgrw.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gobrider_die.ncs b/cep_blueprints/_hak/prc_add_sb/zep_gobrider_die.ncs new file mode 100644 index 0000000..df6e2db Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gobrider_die.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gobrider_die.nss b/cep_blueprints/_hak/prc_add_sb/zep_gobrider_die.nss new file mode 100644 index 0000000..9701b14 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_gobrider_die.nss @@ -0,0 +1,38 @@ +//:://///////////////////////////////////////////// +//:: Default:On Death +//:: NW_C2_DEFAULT7 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Shouts to allies that they have been killed +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 25, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_GENERIC" + +void main() +{ + int nClass = GetLevelByClass(CLASS_TYPE_COMMONER); + int nAlign = GetAlignmentGoodEvil(OBJECT_SELF); + if(nClass > 0 && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL)) + { + object oKiller = GetLastKiller(); + AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5); + } + + SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK); + //Shout Attack my target, only works with the On Spawn In setup + SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK); + if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT)) + { + SignalEvent(OBJECT_SELF, EventUserDefined(1007)); + } + + // Spawn the worg because the goblin has died + location lLoc= GetLocation(OBJECT_SELF); + effect eKnockdwn = ExtraordinaryEffect(EffectKnockdown()); + object oSpawn = CreateObject(OBJECT_TYPE_CREATURE,"nw_worg",lLoc,FALSE); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eKnockdwn, oSpawn, 2.0); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gobspidrider.utc b/cep_blueprints/_hak/prc_add_sb/zep_gobspidrider.utc new file mode 100644 index 0000000..22c6da7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gobspidrider.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_golatlantis.utc b/cep_blueprints/_hak/prc_add_sb/zep_golatlantis.utc new file mode 100644 index 0000000..5565d5f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_golatlantis.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_golblackrock.utc b/cep_blueprints/_hak/prc_add_sb/zep_golblackrock.utc new file mode 100644 index 0000000..f09d982 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_golblackrock.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_golem_dam1.utc b/cep_blueprints/_hak/prc_add_sb/zep_golem_dam1.utc new file mode 100644 index 0000000..4df44ca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_golem_dam1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_golem_dam2.utc b/cep_blueprints/_hak/prc_add_sb/zep_golem_dam2.utc new file mode 100644 index 0000000..9d99f5a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_golem_dam2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_golem_weath.utc b/cep_blueprints/_hak/prc_add_sb/zep_golem_weath.utc new file mode 100644 index 0000000..ae95626 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_golem_weath.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_golemame.utc b/cep_blueprints/_hak/prc_add_sb/zep_golemame.utc new file mode 100644 index 0000000..4e6de55 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_golemame.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_golemcitr.utc b/cep_blueprints/_hak/prc_add_sb/zep_golemcitr.utc new file mode 100644 index 0000000..54fc8cf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_golemcitr.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_golememer.utc b/cep_blueprints/_hak/prc_add_sb/zep_golememer.utc new file mode 100644 index 0000000..45bf61e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_golememer.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_golemobs.utc b/cep_blueprints/_hak/prc_add_sb/zep_golemobs.utc new file mode 100644 index 0000000..9377dbf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_golemobs.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_golemrub.utc b/cep_blueprints/_hak/prc_add_sb/zep_golemrub.utc new file mode 100644 index 0000000..deeafdc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_golemrub.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_golemsapph.utc b/cep_blueprints/_hak/prc_add_sb/zep_golemsapph.utc new file mode 100644 index 0000000..0d2e5c6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_golemsapph.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_golmaztica.utc b/cep_blueprints/_hak/prc_add_sb/zep_golmaztica.utc new file mode 100644 index 0000000..82651c2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_golmaztica.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gore2d8.uti b/cep_blueprints/_hak/prc_add_sb/zep_gore2d8.uti new file mode 100644 index 0000000..6e7df2c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gore2d8.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gore4d6.uti b/cep_blueprints/_hak/prc_add_sb/zep_gore4d6.uti new file mode 100644 index 0000000..9137a87 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gore4d6.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_goristro.utc b/cep_blueprints/_hak/prc_add_sb/zep_goristro.utc new file mode 100644 index 0000000..ba4696c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_goristro.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gown.uti b/cep_blueprints/_hak/prc_add_sb/zep_gown.uti new file mode 100644 index 0000000..73a50ad Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gown.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gown005.uti b/cep_blueprints/_hak/prc_add_sb/zep_gown005.uti new file mode 100644 index 0000000..2837e41 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gown005.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gown006.uti b/cep_blueprints/_hak/prc_add_sb/zep_gown006.uti new file mode 100644 index 0000000..1a94ba2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gown006.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gown007.uti b/cep_blueprints/_hak/prc_add_sb/zep_gown007.uti new file mode 100644 index 0000000..b0807d5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gown007.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gown008.uti b/cep_blueprints/_hak/prc_add_sb/zep_gown008.uti new file mode 100644 index 0000000..f37ae72 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gown008.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gown2.uti b/cep_blueprints/_hak/prc_add_sb/zep_gown2.uti new file mode 100644 index 0000000..634a418 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gown2.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gown3.uti b/cep_blueprints/_hak/prc_add_sb/zep_gown3.uti new file mode 100644 index 0000000..3ce9402 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gown3.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gown4.uti b/cep_blueprints/_hak/prc_add_sb/zep_gown4.uti new file mode 100644 index 0000000..4a5f7ee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gown4.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gown5.uti b/cep_blueprints/_hak/prc_add_sb/zep_gown5.uti new file mode 100644 index 0000000..006c0d9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gown5.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_grasstuft001.utp b/cep_blueprints/_hak/prc_add_sb/zep_grasstuft001.utp new file mode 100644 index 0000000..1a10471 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_grasstuft001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gravestn001.utp b/cep_blueprints/_hak/prc_add_sb/zep_gravestn001.utp new file mode 100644 index 0000000..508b357 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gravestn001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_grayoozel.utc b/cep_blueprints/_hak/prc_add_sb/zep_grayoozel.utc new file mode 100644 index 0000000..ee9fdad Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_grayoozel.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_grayoozem.utc b/cep_blueprints/_hak/prc_add_sb/zep_grayoozem.utc new file mode 100644 index 0000000..8e539ba Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_grayoozem.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_grayoozes.utc b/cep_blueprints/_hak/prc_add_sb/zep_grayoozes.utc new file mode 100644 index 0000000..b3372dc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_grayoozes.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_grdenbush001.utp b/cep_blueprints/_hak/prc_add_sb/zep_grdenbush001.utp new file mode 100644 index 0000000..f474a7b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_grdenbush001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_grdenbush002.utp b/cep_blueprints/_hak/prc_add_sb/zep_grdenbush002.utp new file mode 100644 index 0000000..52137ac Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_grdenbush002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_grdenbush003.utp b/cep_blueprints/_hak/prc_add_sb/zep_grdenbush003.utp new file mode 100644 index 0000000..68fa4f7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_grdenbush003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gredfern.utp b/cep_blueprints/_hak/prc_add_sb/zep_gredfern.utp new file mode 100644 index 0000000..1cbfd8a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gredfern.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_greenhag.utc b/cep_blueprints/_hak/prc_add_sb/zep_greenhag.utc new file mode 100644 index 0000000..440c36f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_greenhag.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_greenslimel.utc b/cep_blueprints/_hak/prc_add_sb/zep_greenslimel.utc new file mode 100644 index 0000000..99ba3ca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_greenslimel.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_greenslimem.utc b/cep_blueprints/_hak/prc_add_sb/zep_greenslimem.utc new file mode 100644 index 0000000..45bd999 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_greenslimem.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_greenslimes.utc b/cep_blueprints/_hak/prc_add_sb/zep_greenslimes.utc new file mode 100644 index 0000000..0ee03b6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_greenslimes.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_griffon.utc b/cep_blueprints/_hak/prc_add_sb/zep_griffon.utc new file mode 100644 index 0000000..737d18e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_griffon.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ground_dag.utp b/cep_blueprints/_hak/prc_add_sb/zep_ground_dag.utp new file mode 100644 index 0000000..33bdb29 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ground_dag.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_guardian.utp b/cep_blueprints/_hak/prc_add_sb/zep_guardian.utp new file mode 100644 index 0000000..48402c0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_guardian.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_guardinal.utc b/cep_blueprints/_hak/prc_add_sb/zep_guardinal.utc new file mode 100644 index 0000000..e207a7b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_guardinal.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_guillotin001.utp b/cep_blueprints/_hak/prc_add_sb/zep_guillotin001.utp new file mode 100644 index 0000000..8582129 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_guillotin001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_guillotin002.utp b/cep_blueprints/_hak/prc_add_sb/zep_guillotin002.utp new file mode 100644 index 0000000..871ecb8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_guillotin002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_guitar.uti b/cep_blueprints/_hak/prc_add_sb/zep_guitar.uti new file mode 100644 index 0000000..8a23b7a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_guitar.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_gwasp.utc b/cep_blueprints/_hak/prc_add_sb/zep_gwasp.utc new file mode 100644 index 0000000..9ca8ad7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_gwasp.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_halfdrafnd.utc b/cep_blueprints/_hak/prc_add_sb/zep_halfdrafnd.utc new file mode 100644 index 0000000..659cbf0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_halfdrafnd.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_halfdrgn_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_halfdrgn_001.utc new file mode 100644 index 0000000..582fe14 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_halfdrgn_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_halfdrgn_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_halfdrgn_002.utc new file mode 100644 index 0000000..5686867 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_halfdrgn_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_halffiend.utc b/cep_blueprints/_hak/prc_add_sb/zep_halffiend.utc new file mode 100644 index 0000000..b73713f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_halffiend.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_halffiendf.utc b/cep_blueprints/_hak/prc_add_sb/zep_halffiendf.utc new file mode 100644 index 0000000..ee8eead Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_halffiendf.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hamatula.utc b/cep_blueprints/_hak/prc_add_sb/zep_hamatula.utc new file mode 100644 index 0000000..0ebc3c0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hamatula.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hamatula_35e.utc b/cep_blueprints/_hak/prc_add_sb/zep_hamatula_35e.utc new file mode 100644 index 0000000..6319a9d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hamatula_35e.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hammer01.utp b/cep_blueprints/_hak/prc_add_sb/zep_hammer01.utp new file mode 100644 index 0000000..1f1dd9a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hammer01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hammer02.utp b/cep_blueprints/_hak/prc_add_sb/zep_hammer02.utp new file mode 100644 index 0000000..b37e42c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hammer02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hammer03.utp b/cep_blueprints/_hak/prc_add_sb/zep_hammer03.utp new file mode 100644 index 0000000..040a881 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hammer03.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hanbo.uti b/cep_blueprints/_hak/prc_add_sb/zep_hanbo.uti new file mode 100644 index 0000000..4ea6c98 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hanbo.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hand001.utp b/cep_blueprints/_hak/prc_add_sb/zep_hand001.utp new file mode 100644 index 0000000..5213a66 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hand001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hand002.utp b/cep_blueprints/_hak/prc_add_sb/zep_hand002.utp new file mode 100644 index 0000000..5f938a5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hand002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hand003.utp b/cep_blueprints/_hak/prc_add_sb/zep_hand003.utp new file mode 100644 index 0000000..c463d19 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hand003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hand004.utp b/cep_blueprints/_hak/prc_add_sb/zep_hand004.utp new file mode 100644 index 0000000..37f19d4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hand004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hand005.utp b/cep_blueprints/_hak/prc_add_sb/zep_hand005.utp new file mode 100644 index 0000000..7a42951 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hand005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hand006.utp b/cep_blueprints/_hak/prc_add_sb/zep_hand006.utp new file mode 100644 index 0000000..298aa05 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hand006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hand007.utp b/cep_blueprints/_hak/prc_add_sb/zep_hand007.utp new file mode 100644 index 0000000..07db111 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hand007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hand008.utp b/cep_blueprints/_hak/prc_add_sb/zep_hand008.utp new file mode 100644 index 0000000..239b74a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hand008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hand009.utp b/cep_blueprints/_hak/prc_add_sb/zep_hand009.utp new file mode 100644 index 0000000..7b1de02 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hand009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hand010.utp b/cep_blueprints/_hak/prc_add_sb/zep_hand010.utp new file mode 100644 index 0000000..d6b7052 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hand010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hand011.utp b/cep_blueprints/_hak/prc_add_sb/zep_hand011.utp new file mode 100644 index 0000000..438fcdf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hand011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hangedman.utp b/cep_blueprints/_hak/prc_add_sb/zep_hangedman.utp new file mode 100644 index 0000000..b8495ce Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hangedman.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hangedmant.utp b/cep_blueprints/_hak/prc_add_sb/zep_hangedmant.utp new file mode 100644 index 0000000..6ebf2b6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hangedmant.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hangedsk.utp b/cep_blueprints/_hak/prc_add_sb/zep_hangedsk.utp new file mode 100644 index 0000000..f0d360d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hangedsk.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hangedwom.utp b/cep_blueprints/_hak/prc_add_sb/zep_hangedwom.utp new file mode 100644 index 0000000..93e223a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hangedwom.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hangingbag.utp b/cep_blueprints/_hak/prc_add_sb/zep_hangingbag.utp new file mode 100644 index 0000000..a9f59b3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hangingbag.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hangingbags.utp b/cep_blueprints/_hak/prc_add_sb/zep_hangingbags.utp new file mode 100644 index 0000000..e7b36a4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hangingbags.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_harp.uti b/cep_blueprints/_hak/prc_add_sb/zep_harp.uti new file mode 100644 index 0000000..ffd57e5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_harp.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_harp.utp b/cep_blueprints/_hak/prc_add_sb/zep_harp.utp new file mode 100644 index 0000000..b391542 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_harp.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_harp001.utp b/cep_blueprints/_hak/prc_add_sb/zep_harp001.utp new file mode 100644 index 0000000..6d98bd3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_harp001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_harp002.utp b/cep_blueprints/_hak/prc_add_sb/zep_harp002.utp new file mode 100644 index 0000000..0ce064b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_harp002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_harys1.utc b/cep_blueprints/_hak/prc_add_sb/zep_harys1.utc new file mode 100644 index 0000000..8481cb9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_harys1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_harys2.utc b/cep_blueprints/_hak/prc_add_sb/zep_harys2.utc new file mode 100644 index 0000000..fbb3651 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_harys2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_head001.utp b/cep_blueprints/_hak/prc_add_sb/zep_head001.utp new file mode 100644 index 0000000..93bb0c9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_head001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_head002.utp b/cep_blueprints/_hak/prc_add_sb/zep_head002.utp new file mode 100644 index 0000000..3f6568c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_head002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_head003.utp b/cep_blueprints/_hak/prc_add_sb/zep_head003.utp new file mode 100644 index 0000000..c2d9bec Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_head003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_head004.utp b/cep_blueprints/_hak/prc_add_sb/zep_head004.utp new file mode 100644 index 0000000..011c3b3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_head004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_heavypick.uti b/cep_blueprints/_hak/prc_add_sb/zep_heavypick.uti new file mode 100644 index 0000000..66e283a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_heavypick.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_heavypick001.uti b/cep_blueprints/_hak/prc_add_sb/zep_heavypick001.uti new file mode 100644 index 0000000..bdf4766 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_heavypick001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_highsewage.utp b/cep_blueprints/_hak/prc_add_sb/zep_highsewage.utp new file mode 100644 index 0000000..e81fcf9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_highsewage.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_highwater.utp b/cep_blueprints/_hak/prc_add_sb/zep_highwater.utp new file mode 100644 index 0000000..a1d827c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_highwater.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hippo.utc b/cep_blueprints/_hak/prc_add_sb/zep_hippo.utc new file mode 100644 index 0000000..05e8e94 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hippo.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hiril.utc b/cep_blueprints/_hak/prc_add_sb/zep_hiril.utc new file mode 100644 index 0000000..c5bd7f7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hiril.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hitchrail.utp b/cep_blueprints/_hak/prc_add_sb/zep_hitchrail.utp new file mode 100644 index 0000000..c5132f2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hitchrail.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hivekid.utc b/cep_blueprints/_hak/prc_add_sb/zep_hivekid.utc new file mode 100644 index 0000000..8fd0bd7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hivekid.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hlmcorm_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_hlmcorm_001.uti new file mode 100644 index 0000000..eb76e82 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hlmcorm_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hog.utc b/cep_blueprints/_hak/prc_add_sb/zep_hog.utc new file mode 100644 index 0000000..6cc9c1b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hog.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hoist.utp b/cep_blueprints/_hak/prc_add_sb/zep_hoist.utp new file mode 100644 index 0000000..ea3421e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hoist.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_holy_water.uti b/cep_blueprints/_hak/prc_add_sb/zep_holy_water.uti new file mode 100644 index 0000000..13a0e00 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_holy_water.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_holysymbol.uti b/cep_blueprints/_hak/prc_add_sb/zep_holysymbol.uti new file mode 100644 index 0000000..4413ce1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_holysymbol.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_holywater.utp b/cep_blueprints/_hak/prc_add_sb/zep_holywater.utp new file mode 100644 index 0000000..d6d0cc8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_holywater.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_horse_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_horse_001.utc new file mode 100644 index 0000000..e064db1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_horse_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_horse_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_horse_002.utc new file mode 100644 index 0000000..e63355e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_horse_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_horse_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_horse_003.utc new file mode 100644 index 0000000..a56afe7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_horse_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_horse_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_horse_004.utc new file mode 100644 index 0000000..1ddd965 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_horse_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_horse_005.utc b/cep_blueprints/_hak/prc_add_sb/zep_horse_005.utc new file mode 100644 index 0000000..03d5044 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_horse_005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_horse_dismt.uti b/cep_blueprints/_hak/prc_add_sb/zep_horse_dismt.uti new file mode 100644 index 0000000..a15cc63 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_horse_dismt.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_horsebr.utp b/cep_blueprints/_hak/prc_add_sb/zep_horsebr.utp new file mode 100644 index 0000000..d72a113 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_horsebr.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_horsefly.utc b/cep_blueprints/_hak/prc_add_sb/zep_horsefly.utc new file mode 100644 index 0000000..62d159c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_horsefly.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_horsefoal.utc b/cep_blueprints/_hak/prc_add_sb/zep_horsefoal.utc new file mode 100644 index 0000000..bfd3b25 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_horsefoal.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_horsenag.utc b/cep_blueprints/_hak/prc_add_sb/zep_horsenag.utc new file mode 100644 index 0000000..db59a38 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_horsenag.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_horsep_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_horsep_001.utc new file mode 100644 index 0000000..aebc51c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_horsep_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_horsepl_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_horsepl_001.utc new file mode 100644 index 0000000..3729e74 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_horsepl_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_horsepreg.utc b/cep_blueprints/_hak/prc_add_sb/zep_horsepreg.utc new file mode 100644 index 0000000..b963d31 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_horsepreg.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_horsesh.utp b/cep_blueprints/_hak/prc_add_sb/zep_horsesh.utp new file mode 100644 index 0000000..3005715 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_horsesh.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_horseshs.utp b/cep_blueprints/_hak/prc_add_sb/zep_horseshs.utp new file mode 100644 index 0000000..3c7744f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_horseshs.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_horseyear.utc b/cep_blueprints/_hak/prc_add_sb/zep_horseyear.utc new file mode 100644 index 0000000..d2892f1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_horseyear.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hourglass001.utp b/cep_blueprints/_hak/prc_add_sb/zep_hourglass001.utp new file mode 100644 index 0000000..5c30142 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hourglass001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_house001.utp b/cep_blueprints/_hak/prc_add_sb/zep_house001.utp new file mode 100644 index 0000000..3f9f261 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_house001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hugedesertvi.utc b/cep_blueprints/_hak/prc_add_sb/zep_hugedesertvi.utc new file mode 100644 index 0000000..578b9f3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hugedesertvi.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hugeforestvi.utc b/cep_blueprints/_hak/prc_add_sb/zep_hugeforestvi.utc new file mode 100644 index 0000000..8af74b1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hugeforestvi.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hugejunglevi.utc b/cep_blueprints/_hak/prc_add_sb/zep_hugejunglevi.utc new file mode 100644 index 0000000..63f0364 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hugejunglevi.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hugeswampvi.utc b/cep_blueprints/_hak/prc_add_sb/zep_hugeswampvi.utc new file mode 100644 index 0000000..86e9cf4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hugeswampvi.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hyenaspot.utc b/cep_blueprints/_hak/prc_add_sb/zep_hyenaspot.utc new file mode 100644 index 0000000..5fd44b2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hyenaspot.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_hyenastripe.utc b/cep_blueprints/_hak/prc_add_sb/zep_hyenastripe.utc new file mode 100644 index 0000000..b1a8219 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_hyenastripe.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_iceblder001.utp b/cep_blueprints/_hak/prc_add_sb/zep_iceblder001.utp new file mode 100644 index 0000000..866481f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_iceblder001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_iceblder002.utp b/cep_blueprints/_hak/prc_add_sb/zep_iceblder002.utp new file mode 100644 index 0000000..4a6a101 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_iceblder002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_iceblder003.utp b/cep_blueprints/_hak/prc_add_sb/zep_iceblder003.utp new file mode 100644 index 0000000..70ba386 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_iceblder003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_icefiend1.utc b/cep_blueprints/_hak/prc_add_sb/zep_icefiend1.utc new file mode 100644 index 0000000..9118dfc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_icefiend1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_icefiend2.utc b/cep_blueprints/_hak/prc_add_sb/zep_icefiend2.utc new file mode 100644 index 0000000..dc562e7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_icefiend2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_icefiend3.utc b/cep_blueprints/_hak/prc_add_sb/zep_icefiend3.utc new file mode 100644 index 0000000..a123691 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_icefiend3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_iceghoul.utc b/cep_blueprints/_hak/prc_add_sb/zep_iceghoul.utc new file mode 100644 index 0000000..5ab60c8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_iceghoul.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_icekobold.utc b/cep_blueprints/_hak/prc_add_sb/zep_icekobold.utc new file mode 100644 index 0000000..d5094f3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_icekobold.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_icekoboldnob.utc b/cep_blueprints/_hak/prc_add_sb/zep_icekoboldnob.utc new file mode 100644 index 0000000..5bfdca5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_icekoboldnob.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_icekoboldsha.utc b/cep_blueprints/_hak/prc_add_sb/zep_icekoboldsha.utc new file mode 100644 index 0000000..40aadf3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_icekoboldsha.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_illithid.utc b/cep_blueprints/_hak/prc_add_sb/zep_illithid.utc new file mode 100644 index 0000000..a5548e2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_illithid.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_illithid1.utc b/cep_blueprints/_hak/prc_add_sb/zep_illithid1.utc new file mode 100644 index 0000000..da7f6dc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_illithid1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_illithid2.utc b/cep_blueprints/_hak/prc_add_sb/zep_illithid2.utc new file mode 100644 index 0000000..2f4becd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_illithid2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_illithid3.utc b/cep_blueprints/_hak/prc_add_sb/zep_illithid3.utc new file mode 100644 index 0000000..0abdd53 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_illithid3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_illithid4.utc b/cep_blueprints/_hak/prc_add_sb/zep_illithid4.utc new file mode 100644 index 0000000..41feb90 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_illithid4.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_illithid5.utc b/cep_blueprints/_hak/prc_add_sb/zep_illithid5.utc new file mode 100644 index 0000000..3e77056 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_illithid5.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_illithid6.utc b/cep_blueprints/_hak/prc_add_sb/zep_illithid6.utc new file mode 100644 index 0000000..602ae1c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_illithid6.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_illithidkid.utc b/cep_blueprints/_hak/prc_add_sb/zep_illithidkid.utc new file mode 100644 index 0000000..5dbcef2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_illithidkid.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_inc_1st_rp.nss b/cep_blueprints/_hak/prc_add_sb/zep_inc_1st_rp.nss new file mode 100644 index 0000000..26ad400 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_inc_1st_rp.nss @@ -0,0 +1,2404 @@ +/* +================================================+ + +========== Builders' Compendium ==========+ + +=== ===+ + +=== A 1st Order of Role-Players' Creation ===+ + +========== www.1stOrder.net ==========+ + +================================================+ + + + + To use: #include "zep_inc_1st_rp" + + NO OTHER FILES ARE INCLUDED BY THIS ONE + + 1st Order of Role-Players' Library of odd, yet useful functions + Author - TheExcimer-500 with lots of advice & playtesting by our guild members + particular thanks to GrendelsBathMat, Hamza al-Assad, and Cherenzig + + To find out more about the 1st Order of Role-Players' Guild, visit us + at our website www.1stOrder.net + +*/ + + + + +/* List of Functions + ACTIONS +A1st_EquipItem +A1st_SitInNearestChair + + RETURNS AN OBJECT +o1st_GetNearestPC +o1st_GetNearestPCinRadius +o1st_GetNearestNPC +o1st_GetNearestNPCinRadius +o1st_RespawnNPC +o1st_CopyNPC +o1st_GetObjectInInventory + + RETURNS A FLOATING NUMBER +f1st_GetSpeed_PercentChange +f1st_DegreesToRadians +f1st_RadiansToDegrees +f1st_GetXYDirectionBetween +f1st_GetXYDistanceBetween +f1st_GetZDistanceBetween +f1st_SendMessageToParty +f1st_GetSpeed_PercentChange + + RETURNS A STRING +s1st_PCGetVarName +s1st_PCGetVarNameShort +s1st_Get_2DAModelName + + RETURNS AN INTEGER +n1st_GetIsPCLeader +n1st_GetHasClass +n1st_GetAnimalReactionToPC +n1st_GetIsStackableItem +n1st_VFXNo_Color +n1st_AnimNo +n1st_SkillNo +n1st_GetIsSameFactionAs +n1st_GetHasEffectOfType +n1st_GetNumberOfEffectOfType +n1st_GetNumberPartyMembers +n1st_CheckIsItemMagical +n1st_2DA_Check +n1st_Get_2DARow +n1st_HasItemInInventory + + DOES NOT RETURN A VALUE +X1st_CopyInventory +X1st_CopyInventoryEq +X1st_CopyNPC +X1st_RemoveAllPartyMembers +X1st_AddAllPCsInAreaToParty +X1st_GameTimeDelayScript +X1st_CopyItem_Delay +X1st_Copy_DelayDestroyObject +X1st_CreateItem_Delay +X1st_CopyObject_Delay +X1st_GiveGoldToAllEqually +X1st_MakeCutsceneInvisible +X1st_DestroyAllItems +X1st_DestroyAllItems_NotDMFI +X1st_DestroyDMFIItems +X1st_GiveDMFIItems +X1st_Give1ORPItems +X1st_RespawnNPC +X1st_JumpPCPartyToObject +X1st_JumpAllPCsInAreaToObject +X1st_Item_DestroyNonEquiped +X1st_Item_DestroyOnlyEquiped +X1st_Inventory_IDAllItems +X1st_Faction_ClearFactionReputation +X1st_GameTimeDelayScript +x1st_Effect_RemoveType +*/ + + +/////////FUNCTION DECLARATIONS\\\\\\\\\\\\\ + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//Converts degrees into radians (Returns float value) +float f1st_DegreesToRadians(float degrees); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//Converts radians into degrees (Returns float value) +float f1st_RadiansToDegrees(float radians); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//Get the XY plane direction from one object to another (regardless of height differences) +// The direction will be from oFrom's perspective looking at oPointsTo. +// Use this with SetFacing to have oFrom turn to face oPointsTo +float f1st_GetXYDirectionBetween(object oFrom, object oPointsTo); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//When dealing with objects at different heights, GetDistanceBetween will give you the +//real distance between the objects. Our GetXYDistance will give you the distance between +//them in the XY-Plane (hence it doesn't take into account the height difference). +//This is an absolute value (non-negative), and the order of the objects will not matter. +float f1st_GetXYDistanceBetween(object oObject1, object oObject2); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//Returns the height difference of one object (oObjectTo) compared to another (oObjectFrom) +//This can be positive or negative as objectTo can be above or below oObjectFrom. +//Returns a Float value. If you only want a positive value, use the "fabs" FloatAbsolute Bioware Function +float f1st_GetZDistanceBetween(object oObjectFrom, object oObjectTo); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//Returns a unique string based on the legal letters of the character's name, and the CD Key +//Useful for local and campaign variables. Maximum string length is 30 characters (22 for char.name + 8 CD Key). +//Important Note: If you are not logged in (i.e. playing in Single-Player Mode) then this +//will only return the legal characters of the PC's Name, it will not include the CD KEy. +//ALSO NOTE: this string length is 30 character, the maximum variable string length of Databases is 32! +// use s1st_PCGetVarNameShort(object oPC) for a shorter version. +string s1st_PCGetVarName(object oPC); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//Returns a unique string based on the legal letters of the character's name, and the CD Key +//Useful for local and campaign variables. Maximum string length is 26 characters (18 for char.name + 8 CD Key). +//Important Note: If you are not logged in (i.e. playing in Single-Player Mode) then this +//will only return the legal characters of the PC's Name, it will not include the CD KEy. +//ALSO NOTE: Campaign Variable Names can have a maximum length of 32 characters, Local Variables +//"suppose-ably" (Yay Joey) do not have this limit. Since only 18 letters from the character name are used +//it's possible that the same player (same CD key) could have two characters with the same first 18 letters! +//thus you might want to use the slightly longer s1st_PCGetVarName(opc) function instead. +string s1st_PCGetVarNameShort(object oPC); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//A simple True/False returning function to check if the PC has a specific class (defined by +//CLASS_TYPE_ constants), and if it has at least nLevel in it. +//Thus if you wanted to test if the character was an 8th level wizard if(nPC_Has_Class(oPC, CLASS_TYPE_WIZARD,8)==TRUE) +int n1st_GetHasClass(object oPC, int nClassType, int nLevel=1); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This returns an animal's reaction value based upon the PC. +//It returns values from 2 (Strong Dislike/Fear/Hate) to 9 (Like/Accepting) +//The initial check is for TAME animals, however it can be adjusted through +//setting a local variable on the animal: +// This variable should be set on the animal if it differs from Tame. +// Variable Name Type Values Description +// nReaction int 0 Animal is TAME (Checks need to be made. Easy for Rangers/Druids) +// 1 Animal is Always Friendly to Druids/Rangers (else TAME for checks on others) +// 2 Animal is Always Friendly to all PCs (no Checks) +// 3 Animal is WILD (Difficult Checks - probably only Rangers/Druids will pass - or someone with a lot of sugar cubes) +int n1st_GetAnimalReactionToPC(object oPC, object oAnimal); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//Returns TRUE if item is one that is stackable (i.e. bullets, arrows, etc.) +//Returns FALSE if not (i.e. Dwarven Waraxe) +int n1st_GetIsStackableItem(object oItem); + + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//Copies the inventory from one object to another. +void X1st_CopyInventory(object oCopyFrom, object oCopyTo); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//Copies the inventory from one object to another & Equips if equipped on oCopyFrom. +void X1st_CopyInventoryEq(object oCopyFrom, object oCopyTo); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This function when called will create a copy of an object +//if fDelayDestroy is set, that object will be destroyed at that time +//Useful for when you want to Delay the copying of an object that +//will be destroyed at some time later (i.e. for Cutscenes :D) +// If an owner is specified and the object is an item, it will be put into their inventory +// If the object is a creature, they will be created at the location. +// If a new tag is specified, it will be assigned to the new object. +void X1st_Copy_DelayDestroyObject(object oSource, location lLoc, float fDelayDestroy, object oOwner = OBJECT_INVALID, string sNewTag=""); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This function acquires either the LIGHT VFX# or the GLOW VFX# for +//a string sent to it specifying the color and what type. +//sColor syntax for LIGHT VFXs: Color_#, where # is intensity +//Valid for LIGHT VFXs: White, Yellow, Orange, Red, Green, Blue, Purple +//____note - green calls a GREY lighting effect which is green for some inscrutible reason) +//Valid Intensity #s for LIGHT VFXs: 5, 10, 15, 20 are the available radii. +//____ +//sColor syntax for GLOW VFXs: Color_ss, where ss is either LT or RG and refers to the Light version of the glow +//____________________________or the regular version (i.e. light blue is Blue_LT, and regular blue is BLUE_RG) +//Valid for GLOW VFXs: Purple, Red, Yellow, Green, Orange, Brown, Gray & white. +// +//Notes: upper/lower case doesn't matter, and it only looks at the first and +//______last two "letters" of the string. Hence you can abbreviate the color (i.e. Yellow can be just YE) +//______The exception to this is Gray (or grey). This must be fully spelled out (either way) +//______There is also no Light version of the Glow Gray or White. However, you must use +//______either LT or RG anyway! ex. GREY_LT, WHITE_RG, WH_RG. +int n1st_VFXNo_Color(string sColor); + + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This function returns the Animation # given just the last part of the +//Animation constant... i.e. n1st_AnimNo(Bow) will return ANIMATION_FIREFORGET_BOW +//It will return the looping version if both fireforget/looping versions exist. +//i.e. n1st_AnimNo(spasm) will return ANIMATION_LOOPING_SPASM and not ANIMATION_FIREFORGET_SPASM +//Also note - upper/lower case does not matter. +//If no match is made, it will return -1. +//CONJURE1, CONJURE2, DEAD_BACK, DEAD_FRONT, GET_LOW, GET_MID, LISTEN, LOOK, +//MEDITATE, PAUSE, DRUNK, TIRED, PAUSE2, SIT, SIT_CHAIR, SPASM, TALK, LAUGH, +//PLEAD, WORSHIP, BOW, DUCK, DODGE, WAVES, LOOK_LEFT, LOOK_RIGHT, BORED, SCRATCH_HEAD +//READ, SALUTE, STEAL, STRETCHES, VICTORY, VICTORY2, VICTORY3, TALK_FORCEFUL (or ARGUE) +int n1st_AnimNo(string sAnim); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This function returns the SKILL_ constant given a string input +//Use: Animal_Empathy (or Animal), Appraise, Bluff, Concentration, Craft_Armor (or Armor), Craft_Trap, +// Craft_Weapon (or Weapon), Disable_Trap, Discipline, Heal, Hide, Intimidate, Listen, +// Lore, Move_Silently (or Silently or Silent), Open_Lock (or Lock), Parry, Perform, Persuade, Pick_Pocket, +// Search, Set_Trap, Spellcraft, Spot, Taunt, Tumble, Use_Magic_Device (or Magic_Device) +// Upper/Lower case doesn't matter. Useful for variables :) +int n1st_SkillNo(string sSkill); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//Returns true if oMember1 is in the same faction (or PC Party) as oMember2 +//I really thought there was a function to do this already, but +//alas I couldn't find it. -- b-mail TheExcimer-500 if one already exists, please. +//FYI - this loops through oMember1's entire faction looking for oMember2. +//Thus you should use the smaller faction (if known) for oMember1 ;) +int n1st_GetIsSameFactionAs(object oMember1, object oMember2); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//Breaks up the entire party (except for henchmen/familiars/companions +//hopefully these stay with their Master - someone needs to verify this) +void X1st_RemoveAllPartyMembers(object oPC); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//Adds all PCs in the same area as oPC to oPC's party. NOTE this does not +//Remove any PCs from oPC's original PARTY +//!!!BUT!!! It will break up a PC in that area from its party. +void X1st_AddAllPCsInAreaToParty(object oPC); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//returns true if oTarget has an effect specified by an EFFECT_TYPE_... +int n1st_GetHasEffectOfType(object oTarget, int nEffectTypeConst); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//returns the number of effects of the type specified +int n1st_GetNumberOfEffectOfType(object oTarget, int nEffectTypeConst); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//Allows a delayed execution of a script on an object using +//"Game Time" as opposed to realtime (which you should just use DelayCommand(float, ExecuteScript...) +// +// This function checks the time remaining and runs itself again as follows: +// Under 5 Game Minutes -> Every 12 Real Seconds +// Under 1 Game Hours -> Every 30 Real Seconds +// Under 6 Game Hours -> Every Real Minute. +// Less than 1 Day -> Every 5.0 Real Minutes +// Greater than 1 Day -> Every 12 Real Minutes. +// Greater than 1 Month -> Every 30 Real Minutes. +// +// IMPORTANT NOTE: You can run multiple delays of the same script on the same object +// ONLY IF it has a different delay time specified in seconds (regardless of the start time of the script). +// Good Example: X1st_GameTimeDelayScript("same", GetFirstPC(), 0, 5, 0, 0); and X1st_GameTimeDelayScript("same", GetFirstPC(), 0, 5, 0, 1); +// BadExample: X1st_GameTimeDelayScript("same", GetFirstPC(), 0, 1, 0, 0); and X1st_GameTimeDelayScript("same", GetFirstPC(), 0, 0, 60,0); +// Bad b/c 1 hour = 60 minutes, hence it's the same time in seconds. +// +// The reason for this is that this function creates a Count-down Identifier based +// on the script name and the # of total time (in seconds) when it is first called. +// Thus in the Good Example the variable names will be based upon "same18000" for the first call and +// "same18001" for the second call. For the bad example both will led to "same3600". +// +// Variable names must be kept to 32 characters. The ones generated in this script use the following syntax: +// @@ where @@ are two character headers. +// Since 1 year in seconds leads to 8 character places, this leaves script names up to 22 characters +// that can be used for objects. Since scripts can only be 16 characters, we're safe :) Heck I might just go crazy and add another character to the header - you watch me now! +void X1st_GameTimeDelayScript(string sScript, object oTarget, int nDays, int nHours=0, int nMinutes=0, int nSeconds=0, int nMonths=0); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This is a quick GetNearestCreature function, without all the confusing lines\\ +// oBJ => object to find the nearest PC (notDM) to +// nNth => 1st nearest PC, 2nd nearest PC, ... +// Those that use this (two line function) that uses the one line Bioware function are just plain nuts (like me). +// But so far 10 out of 10 times, I've had to look up the function on the lexicon. Too many choices makes me confused... +object o1st_GetNearestPC(int nNth=1, object oOBJ=OBJECT_SELF); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This is a quick GetNearestCreature function, without all the confusing lines\\ +// oBJ => object to find the nearest NPC to +// nNth => 1st nearest NPC, 2nd nearest NPC, ... +// Those that use this (two line function) that uses the one line Bioware function are just plain nuts (like me). +// But so far 10 out of 10 times, I've had to look up the function on the lexicon. Too many choices makes me confused... +object o1st_GetNearestNPC(int nNth=1, object oOBJ=OBJECT_SELF); + + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//A command to simplify executing a script on all PCs in area +//ACK - NOPE not doing this one yet. +//void X1st_ExecuteScriptOnAllPCsInArea(string sScript, object oArea, int nDM = FALSE); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//A Delayed CopyItem function. +//oSource is the Item you want to copy (NOTE this is ITEM - if you're using this on a creature, don't blame me.) +//oOwner - This with either be created in oOwner's inventory (if it has one), or at the owner's location (like a waypoint) +//nCopyLocalVariables => Well that's long enough to explain what it does. If the item has local variables stored on it, it'll copy them onto the new item +//nDontUse => LEAVE IT ALONE! This is the secret to how this function works. +// Ok - if you set it equal to TRUE, then this function ignore the delay - hence it's just CopyItem. +void X1st_CopyItem_Delay(float fDelay, object oSource, object oOwner, int nCopyLocalVariables=TRUE,int nDontUse=FALSE); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//A Delayed CreateItem function. (NOTE - with CreateObjectVoid you can't place the object in the inventory) +//sResRef is the ResRef of the Item you want to create (NOTE this is ITEM - if you're using this on a creature, don't blame me.) +//oOwner - This with either be created in oOwner's inventory (if it has one), or at the owner's location (like a waypoint) +//nDontUse => LEAVE IT ALONE! This is the secret to how this function works. +// Ok - if you set it equal to TRUE, then this function ignore the delay - hence it's just CreateItemOnObject. +void X1st_CreateItem_Delay(float fDelay, string sResRef, object oOwner, int nDontUse=FALSE); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//A Delayed CopyObject function. +//sTAG is the tag of the object you want to copy +//lLOC - The location which this object will be placed (remember GetLocation(oWP) :) +//nDontUse => LEAVE IT ALONE! This is the secret to how this function works. +// Ok - if you set it equal to TRUE, then this function ignore the delay - hence it's just CreateItemOnObject. +void X1st_CopyObject_Delay(float fDelay, string sTag, location lLOC, int nDontUse=FALSE); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//Returns the CORRECT number of members in the PC's party (including the PC) +//Bioware's GetNumberPartyMembers(object oPC) function returns 1 too many (oddly enough that looks like it's on purpose) +//If you want to include the associates of the PC then set the second condition to TRUE. (Associates are familiars, henchmen...) +int n1st_GetNumberPartyMembers(object oPC,int Include_Associates=FALSE); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//Gives the correct amount of gold ot all in the PC's party +//nTotalGoldToDivvyUp => the total amount of gold which will be evenly divided up by the +// number of party members. +//NOTE - you can use a negative amount for nTotalGoldToDivvyUp to remove gold from each member :) +void X1st_GiveGoldToAllEqually(object oPC, int nTotalGoldToDivvyUp); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//Applies the visual effect for Cutscene Invisible and sets/removes an int +//on the PC to cancel perception of the PC by the NPCs using our script set +void X1st_MakeCutsceneInvisible(object oPC, float fDuration); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//Destroys all items in the container (works for PCs as well) +void X1st_DestroyAllItems(object oContainer); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This will strip the PC of all items except DMFI & 1ORP widgets +void X1st_DestroyAllItems_NotDMFI(object oPC); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This will remove any DMFI/1ORP widgets from a container (or PC) +void X1st_DestroyDMFIItems(object oContainer); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This will give appropriate DMFI Items +//It does include base race/class languages, but not additional Languages due to INT +void X1st_GiveDMFIItems(object oPC); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This will give the 1ORP items +void X1st_Give1ORPItems(object oPC); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This Action Command attempts to equip an item to an appropriate slot +void A1st_EquipItem(object oNPC, object oItem); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This action Copies the NPC at the same location +//if sNewTag is not specified, the new NPC will have the same tag as the old one. +//How it works: 1) Ghosts original; 2) Copies original; 3) destroys original +//The Bad news: Copy Object DOES NOT copy the local variables! +//The Good news: This function will look for the common variables 1ORP and NPCActivities use +//and will copy them. Thus you can change these variables (listed below) on the Original first, +//and then use this function. +//1ORP Variables copied: nSpawnStatue, nSpawnRaiseable, nSpawnDeadRaise, nSpawnDead, nBlood, & nSpawnHorse +// +//NPCActivities variables copied: nGNBStateSpeed, nWrap_Mode, bGNBQuickMove +//At this time the NPCActivities Conversations are not copied - sorry. +//You can also change the new NPC's AI level using the Constants AI_LEVEL_XXX +void X1st_RespawnNPC(object oNPC, string sNewTag="", int nAI=AI_LEVEL_DEFAULT); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This action Copies the NPC at the same location & returns the new creature +//if sNewTag is not specified, the new NPC will have the same tag as the old one. +//How it works: 1) Ghosts original; 2) Copies original; 3) destroys original +//The Bad news: Copy Object DOES NOT copy the local variables! +//The Good news: This function will look for the common variables 1ORP and NPCActivities use +//and will copy them. Thus you can change these variables (listed below) on the Original first, +//and then use this function. +//1ORP Variables copied: nSpawnStatue, nSpawnRaiseable, nSpawnDeadRaise, nSpawnDead, nBlood, & nSpawnHorse +// +//NPCActivities variables copied: nGNBStateSpeed, nWrap_Mode, bGNBQuickMove +//At this time the NPCActivities Conversations are not copied - sorry. +//You can also change the new NPC's AI level using the Constants AI_LEVEL_XXX +object o1st_RespawnNPC(object oNPC, string sNewTag="", int nAI=AI_LEVEL_DEFAULT); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This action Copies the NPC returns the new creature as an object +//if sNewTag is not specified, the new NPC will have the same tag as the old one. +//if lLoc is invalid, the NPC will spawn at the same location as the original. +//Unlike our Respawn versions, CopyNPC does not destroy the original! +//The Bad news: Copy Object DOES NOT copy the local variables! +//The Good news: This function will look for the common variables 1ORP and NPCActivities use +//and will copy them. Thus you can change these variables (listed below) on the Original first, +//and then use this function. +//1ORP Variables copied: nSpawnStatue, nSpawnRaiseable, nSpawnDeadRaise, nSpawnDead, nBlood, & nSpawnHorse +// +//NPCActivities variables copied: nGNBStateSpeed, nWrap_Mode, bGNBQuickMove +//At this time the NPCActivities Conversations are not copied - sorry. +//You can also change the new NPC's AI level using the Constants AI_LEVEL_XXX +object o1st_CopyNPC(object oNPC, location lLoc, string sNewTag="", int nAI=AI_LEVEL_DEFAULT); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This action Copies the NPC +//if sNewTag is not specified, the new NPC will have the same tag as the old one. +//if lLoc is invalid, the NPC will spawn at the same location as the original. +//Unlike our Respawn versions, CopyNPC does not destroy the original! +//The Bad news: Copy Object DOES NOT copy the local variables! +//The Good news: This function will look for the common variables 1ORP and NPCActivities use +//and will copy them. Thus you can change these variables (listed below) on the Original first, +//and then use this function. +//1ORP Variables copied: nSpawnStatue, nSpawnRaiseable, nSpawnDeadRaise, nSpawnDead, nBlood, & nSpawnHorse +// +//NPCActivities variables copied: nGNBStateSpeed, nWrap_Mode, bGNBQuickMove +//At this time the NPCActivities Conversations are not copied - sorry. +//You can also change the new NPC's AI level using the Constants AI_LEVEL_XXX +void X1st_CopyNPC(object oNPC, location lLoc, string sNewTag="", int nAI=AI_LEVEL_DEFAULT); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This function Jumps the PC & its entire Party to an Object (such as a waypoint) +//This could also be used to jump all NPCs of a faction to the object. +void X1st_JumpPCPartyToObject(object oPC, object oWP); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This function Jumps all PCs in an area to an Object (such as a waypoint) +void X1st_JumpAllPCsInAreaToObject(object oArea, object oWP); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This function will have oCreature attempt to sit in the nearest available chair/couch/bench... +//A search is created for all objects within a radius of fDist from the Creature (10.0m=1side of an area's square) +//If it finds an unoccupied object which has one of the catch phrases below as part of it's tag +//It will have the creature move to that object and sit in it. Alternatively, you can +//specify your own phrase. +// +// The following phrases must be a part of the object's tag, unless you state otherwise: +// chair, couch, bench, throne, stool +//These cover all the default CEP/BW objects - it is not case sensitive, and your tag +//can have other letters in it. For example the following Tags all satisfy the search: +//"redchair", "RedChair", "couchend", "EvilThroneofDoom", "throneup" etc... +//Also Note that the chair need not be usable & can even be STATIC!!! +void A1st_SitInNearestChair(object oCreature, float fDist=10.0, string sPhrase = "all"); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This will strip the PC or Container of all Items (non-equipped) including DMFI & 1orpWidgets +void X1st_Item_DestroyNonEquiped(object oContainer); + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This will strip the PC or NPC of all Equipped Items +void X1st_Item_DestroyOnlyEquiped(object oContainer); + + +//////////////////////////////////////1st Order of Role Players\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// +//This will ID All items in the PC,NPC or Container +void X1st_Inventory_IDAllItems(object oContainer); + + + + + + + + + + +/////////FUNCTION DEFINITIONS\\\\\\\\\\\\\ + +//////////////////////\\\\\\\\\\\\\\\\\\\\\\\\ +/////////f1st_DegreesToRadians\\\\\\\\\\\\\ +//////////////////////\\\\\\\\\\\\\\\\\\\\\\\\ +float f1st_DegreesToRadians(float degrees) +{ + float Radians = (2.0*PI*degrees)/360.0; + return Radians; +} + +//////////////////////\\\\\\\\\\\\\\\\\\\\\\\\ +/////////f1st_RadiansToDegrees\\\\\\\\\\\\\ +//////////////////////\\\\\\\\\\\\\\\\\\\\\\\\ +float f1st_RadiansToDegrees(float radians) +{ + float Degrees =(radians*360.0)/(2.0*PI); + return Degrees; +} + + +//////////////////////\\\\\\\\\\\\\\\\\\\\\\\\ +///////f1st_GetXYDirectionBetween\\\\\\\\\\ +//////////////////////\\\\\\\\\\\\\\\\\\\\\\\\ +float f1st_GetXYDirectionBetween(object oFrom, object oPointsTo) +{ + vector vOFrom = GetPosition(oFrom); + vector vOTo = GetPosition(oPointsTo); + vector vFrom = Vector(vOFrom.x, vOFrom.y,0.0); + vector vTo = Vector(vOTo.x, vOTo.y,0.0); + float fDirection = VectorToAngle(vTo-vFrom); + return fDirection; +} + +//////////////////////\\\\\\\\\\\\\\\\\\\\\\\\ +////////f1st_GetXYDistanceBetween\\\\\\\\\\ +//////////////////////\\\\\\\\\\\\\\\\\\\\\\\\ +float f1st_GetXYDistanceBetween(object oObject1, object oObject2) +{ + vector vWPCAM = GetPosition(oObject2); + vector vWPPC = GetPosition(oObject1); + vector v1 = Vector(vWPCAM.x, vWPCAM.y,0.0); + vector v2 = Vector(vWPPC.x, vWPPC.y,0.0); + float fDistance = fabs(VectorMagnitude(v1-v2)); + return fDistance; +} + +//////////////////////\\\\\\\\\\\\\\\\\\\\\\\\ +////////f1st_GetZDistanceBetween\\\\\\\\\\\ +//////////////////////\\\\\\\\\\\\\\\\\\\\\\\\ +float f1st_GetZDistanceBetween(object oObjectFrom, object oObjectTo) +{ + vector vWPCAM = GetPosition(oObjectTo); + vector vWPPC = GetPosition(oObjectFrom); + vector v1h = Vector(0.0,0.0,vWPCAM.z); + vector v2h = Vector(0.0,0.0,vWPPC.z); + float fHeight = VectorMagnitude(v1h - v2h); //As far as Lexicon can tell this can be anything. + return fHeight; +} + + +//////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +//////////////s1st_PCGetVarName(object oPC)\\\\\\\\\\\ +//////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +string s1st_PCGetVarName(object oPC) +{ + //Function by TheExcimer-500 1st Order of Role-Players Guild. + int i; //A counter -> Per contare + string sCD = GetPCPublicCDKey(oPC); //8 letters/numbers => 8 lettere o numeri + string sCharName = GetName(oPC); + + //Look for illegal characters: "space", !@#$%^&*()-`~[]{}\;":'<>,./?123456789 =>Cerchi i caratteri illegali: + //Take any "legal" characters and form a variable name of length 8(key) + 12 (name) =>Prenda tutti i caratteri "legali" e formi un nome variabile della lunghezza 8(key) + di 12 (nome) + string sBad = " !@#$%^&*()-`~[]{}\;:'<>,./?123456789|-+="; + string sGood = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //A better way to do it ;) + string sVarName; + int nCharName = GetStringLength(sCharName); + string sLetter; + + for (i=0;i Ricerca attraverso ogni lettera del nome. Aggiunga soltanto se legale. + { + sLetter = GetStringUpperCase(GetSubString(sCharName, i, 1)); + if (FindSubString(sGood, sLetter) !=-1 ) {sVarName = sVarName + sLetter;} + } + + //Next I only want the first 30 legal characters. => Dopo desidero soltanto i primi 30 caratteri legali. + if (GetStringLength(sVarName)>30) {sVarName = GetStringLeft(sVarName, 22);} + sVarName =sVarName + sCD; + return sVarName; +} + +//////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +//////////////s1st_PCGetVarNameShort(object oPC)\\\\\\\\\\\ +//////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +string s1st_PCGetVarNameShort(object oPC) +{ + //Function by TheExcimer-500 1st Order of Role-Players Guild. + int i; //A counter -> Per contare + string sCD = GetPCPublicCDKey(oPC); //8 letters/numbers => 8 lettere o numeri + string sCharName = GetName(oPC); + + //Look for illegal characters: "space", !@#$%^&*()-`~[]{}\;":'<>,./?123456789 =>Cerchi i caratteri illegali: + //Take any "legal" characters and form a variable name of length 8(key) + 12 (name) =>Prenda tutti i caratteri "legali" e formi un nome variabile della lunghezza 8(key) + di 12 (nome) + string sBad = " !@#$%^&*()-`~[]{}\;:'<>,./?123456789|-+="; + string sGood = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //A better way to do it ;) + string sVarName; + int nCharName = GetStringLength(sCharName); + string sLetter; + + for (i=0;i Ricerca attraverso ogni lettera del nome. Aggiunga soltanto se legale. + { + sLetter = GetStringUpperCase(GetSubString(sCharName, i, 1)); + if (FindSubString(sGood, sLetter) !=-1 ) {sVarName = sVarName + sLetter;} + } + + //Next I only want the first 18 legal characters. => Dopo desidero soltanto i primi 30 caratteri legali. + if (GetStringLength(sVarName)>30) {sVarName = GetStringLeft(sVarName, 18);} + sVarName =sVarName + sCD; + return sVarName; +} + +///////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// n1st_GetHasClass +///////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + +int n1st_GetHasClass(object oPC, int nClassType, int nLevel=1) +{ + if (GetLevelByClass(nClassType, oPC) >= nLevel) {return TRUE;} + return FALSE; +} +///////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + + +///////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// n1st_GetIsPCLeader +///////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + +int n1st_GetIsPCLeader(object oPC) +{ + int iResult=FALSE; + if (oPC==GetFactionLeader(oPC)){iResult==TRUE;} + return iResult; +} +///////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + +/////////////////////////\\\\\\\\\\\\\\\\\\\\\ +//////////////nPC_GetAnimalReaction\\\\\\\\\\\ +////////////////////////\\\\\\\\\\\\\\\\\\\\\\ +int n1st_GetAnimalReactionToPC(object oPC, object oAnimal) +{ + int nPCReaction; + int nReaction = GetLocalInt(oAnimal, "nReaction"); + nPCReaction = GetSkillRank(SKILL_ANIMAL_EMPATHY, oPC)/2 + GetAbilityModifier(ABILITY_CHARISMA, oPC); + if (nReaction ==3) {nPCReaction-=4;} + if (nPCReaction<2){nPCReaction=2;} + if (nPCReaction>9){nPCReaction=9;} + return nPCReaction; //Value of 1-10 (Hates -> Loves) => Value di 1-10 (avversioni - amori) + +/* This variable should be set on the animal if it differs from Tame. + Variable Name Type Values Description + nReaction int 0 Animal is TAME (Checks need to be made. Easy for Rangers/Druids) + 1 Animal is Always Friendly to Druids/Rangers (else TAME for checks on others) + 2 Animal is Always Friendly to all PCs (no Checks) + 3 Animal is WILD (Difficult Checks - probably only Rangers/Druids will pass - or someone with a lot of sugar cubes) + + + An nPCReaction value of 1 means the horse will not respond. This value is saved for any cruelty the PC inflicts on it and it is not used as an initial reaction + Likewise a value of 10 means the horse truly loves the PC, which is also reserved for acts of kindness. + + Un valore di 1 significa che il cavallo non risponder. Questo valore conservato per tutta + la crudelt che il pc infligge su esso e non usato come reazione iniziale. Inoltre un valore di 10 mezzi + il cavallo allineare ama il pc, che inoltre riservato agli atti di bont. +*/ +} + +//////////////////////////\\\\\\\\\\\\\\\\\\\\\ +//////////////n1st_GetIsStackableItem\\\\\\\\\\ +//////////////////////////\\\\\\\\\\\\\\\\\\\\\ +int n1st_GetIsStackableItem(object oItem) +{ + int nType = GetBaseItemType(oItem); + if ( (nType == BASE_ITEM_ARROW) || (nType == BASE_ITEM_BLANK_POTION) || (nType == BASE_ITEM_BLANK_SCROLL) || (nType == BASE_ITEM_BULLET) || (nType == BASE_ITEM_DART) + || (nType == BASE_ITEM_ENCHANTED_POTION) || (nType == BASE_ITEM_ENCHANTED_SCROLL) || (nType == BASE_ITEM_GEM) || (nType == BASE_ITEM_GOLD) || (nType == BASE_ITEM_GRENADE) + || (nType == BASE_ITEM_HEALERSKIT) || (nType == BASE_ITEM_POTIONS) || (nType == BASE_ITEM_SCROLL) || (nType == BASE_ITEM_SHURIKEN) || (nType == BASE_ITEM_BOLT) + || (nType == BASE_ITEM_THIEVESTOOLS)) + {return TRUE;} + return FALSE; +} + +//////////////////////////\\\\\\\\\\\\\\\\\\\\\ +///////////////////X1st_CopyInventory\\\\\\\\\\ +//////////////////////////\\\\\\\\\\\\\\\\\\\\\ +void X1st_CopyInventory(object oCopyFrom, object oCopyTo) +{ + + if (oCopyFrom==oCopyTo){PrintString("********ERROR**********"); PrintString("X1st_CopyInventory Function - oCopyFrom=oCopyTo not allowed");return;} + if ( (GetIsObjectValid(oCopyFrom)==FALSE)|| (GetIsObjectValid(oCopyTo)==FALSE) + ||(GetHasInventory(oCopyFrom) ==FALSE) || (GetHasInventory(oCopyTo)==FALSE) ) + {PrintString("********ERROR**********"); PrintString("X1st_CopyInventory Function - COPY ERROR not allowed");return;} + + object oItem; object oCopy; + + //First cycle through the items equipted. + int i = 0; + for (i=0;inCMonth) {DelayCommand(1800.0, X1st_GameTimeDelayScript(sScript, oTarget, nDays, nHours, nMinutes, nSeconds, nMonths)); return;} + + //Now nSMonth = nCMonth + if (nSDaynCDay) {DelayCommand(720.0, X1st_GameTimeDelayScript(sScript, oTarget, nDays, nHours, nMinutes, nSeconds, nMonths)); return;} + + //Now nSDay = nCDay + if (nSHournCHour) + { + if (nSHour>nCHour+5) {fDelay=300.0;} else{fDelay=60.0;} + DelayCommand(fDelay, X1st_GameTimeDelayScript(sScript, oTarget, nDays, nHours, nMinutes, nSeconds, nMonths)); + return; + } + + //Now nSHour = nCHour + if (nSMinutenCMinute) + { + if (nSMinute>nCMinute+4) {fDelay=30.0;} else{fDelay=12.0;} + DelayCommand(fDelay, X1st_GameTimeDelayScript(sScript, oTarget, nDays, nHours, nMinutes, nSeconds, nMonths)); + return; + } + + //Now nSMinute = nCMinute + if (nSSecond<=nCSecond) {nExecute=1;break;} + if (nSSecond>nCSecond) + { + DelayCommand(6.0, X1st_GameTimeDelayScript(sScript, oTarget, nDays, nHours, nMinutes, nSeconds, nMonths)); + return; + } + break; //Ends while loop after first run. Of course this should happen either through the return or Breaks + } + //At this point nExecute must be equal to 1, or there's an error in the script + //Assuming my scripting is flawless as always *laughter is heard in the background* + ExecuteScript(sScript, oTarget); + //So why was nExecute needed?!? Silly me. So much for "flawless" scripting. + } + + //Uninitialized Case - Get the delay sequencer ready! Engage! + if (nCheck!=1) + { + SetLocalInt(oS, "nI"+sID, 1); + DelayCommand(6.0, X1st_GameTimeDelayScript(sScript, oTarget, nDays, nHours, nMinutes, nSeconds, nMonths)); + + //Resynchronize & Set GameTime to execute + nSeconds = nCSecond+nSeconds; + while (nSeconds>60) + { + nSeconds=nSeconds-60; + nMinutes++; + } + nMinutes = nCMinute + nMinutes; + while (nMinutes>60) + { + nMinutes=nMinutes-60; + nHours++; + } + nHours = nCHour + nHours; + while (nHours>24) + { + nHours=nHours-24; + nDays++; + } + nDays = nDays + nCDay; + while (nDays>28) + { + nMonths++; + nDays=nDays-28; + } + nMonths = nCMonth + nMonths; + while (nMonths>12) + { + nMonths=nMonths-12; + nYear = nYear+1; + } + + //Now we have the DATE (nYear, nMonths, nDays, nHours, nMinutes, nSeconds) + //in GAME TIME for when the script is scheduled to run. + SetLocalInt(oS, "nY"+sID, nYear); + SetLocalInt(oS, "nM"+sID, nMonths); + SetLocalInt(oS, "nD"+sID, nDays); + SetLocalInt(oS, "nh"+sID, nHours); + SetLocalInt(oS, "nm"+sID, nMinutes); + SetLocalInt(oS, "ns"+sID, nSeconds); + } +} + + + +////////////////////////\\\\\\\\\\\\\\\\\\\\\\\ +///////////////////o1st_GetNearestPC\\\\\\\\\\\ +////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\ +object o1st_GetNearestPC(int nNth=1, object oOBJ=OBJECT_SELF) +{object oPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC,oOBJ,nNth); + return oPC; +} + +////////////////////////\\\\\\\\\\\\\\\\\\\\\\\ +///////////////////o1st_GetNearestNPC\\\\\\\\\\\ +////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\ +object o1st_GetNearestNPC(int nNth=1, object oOBJ=OBJECT_SELF) +{object oNPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_NOT_PC,oOBJ,nNth); + return oNPC; +} + + +////////////////////////\\\\\\\\\\\\\\\\\\\\\\\ +///////////////////X1st_CopyItem_Delay\\\\\\\\\\ +////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\ +void X1st_CopyItem_Delay(float fDelay, object oSource, object oOwner, int nCopyLocalVariables=TRUE,int nDontUse=FALSE) +{ + if (nDontUse==FALSE){DelayCommand(fDelay, X1st_CopyItem_Delay(fDelay,oSource, oOwner,nCopyLocalVariables,TRUE));} + else {object oCopy = CopyItem(oSource, oOwner,nCopyLocalVariables);} +} + + +////////////////////////\\\\\\\\\\\\\\\\\\\\\\\ +///////////////////X1st_CopyObject_Delay\\\\\\\\\\ +////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\ +void X1st_CopyObject_Delay(float fDelay, string sTag, location lLOC, int nDontUse=FALSE) +{ + if (nDontUse==FALSE){DelayCommand(fDelay, X1st_CopyObject_Delay(fDelay,sTag,lLOC,TRUE));} + else {object oCopy = CopyObject(GetObjectByTag(sTag), lLOC);} +} + + +////////////////////////\\\\\\\\\\\\\\\\\\\\\\\ +///////////////////X1st_CreateItem_Delay\\\\\\\\\\ +////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\ +//A Delayed CreateItem function. (NOTE - with CreateObjectVoid you can't place the object in the inventory) +//oSource is the Item you want to copy (NOTE this is ITEM - if you're using this on a creature, don't blame me.) +//oOwner - This with either be created in oOwner's inventory (if it has one), or at the owner's location (like a waypoint) +//nDontUse => LEAVE IT ALONE! This is the secret to how this function works. +// Ok - if you set it equal to TRUE, then this function ignore the delay - hence it's just CreateItemOnObject. +void X1st_CreateItem_Delay(float fDelay, string sResRef, object oOwner, int nDontUse=FALSE) +{ + if (nDontUse==FALSE){DelayCommand(fDelay, X1st_CreateItem_Delay(fDelay,sResRef, oOwner,TRUE));} + else + { + object oCopy; + if (GetHasInventory(oOwner)==TRUE){oCopy = CreateItemOnObject(sResRef, oOwner);} + else {CreateObject(OBJECT_TYPE_ITEM, sResRef, GetLocation(oOwner));} + } +} + +////////////////////////\\\\\\\\\\\\\\\\\\\\\\\ +////////////n1st_GetNumberPartyMembers\\\\\\\\\\ +////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\ +int n1st_GetNumberPartyMembers(object oPC,int nInclude_Associates=FALSE) +{ + int nMembers; + int nAssociates=TRUE; + if (nInclude_Associates==TRUE){nAssociates==FALSE;} + object oPartyMember = GetFirstFactionMember(oPC, nAssociates); + while (GetIsObjectValid(oPartyMember)==TRUE) + { + nMembers++; + oPartyMember=GetNextFactionMember(oPC, nAssociates); + } + return nMembers; +} + +////////////////////////\\\\\\\\\\\\\\\\\\\\\\\ +////////////X1st_GiveGoldToAllEqually\\\\\\\\\\ +////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\ +void X1st_GiveGoldToAllEqually(object oPC, int nTotalGoldToDivvyUp) +{ + int nMembers = n1st_GetNumberPartyMembers(oPC); + int nGP = nTotalGoldToDivvyUp/nMembers; + + object oPartyMember = GetFirstFactionMember(oPC); + while (GetIsObjectValid(oPartyMember)==TRUE) + { + if (nGP>0){GiveGoldToCreature(oPartyMember, nGP);} + if (nGP<0){TakeGoldFromCreature(-nGP,oPartyMember,TRUE);} + oPartyMember = GetNextFactionMember(oPC); + } +} + +////////////////////////\\\\\\\\\\\\\\\\\\\\\\\ +////////////X1st_MakeCutsceneInvisible\\\\\\\\\\ +////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\ +void X1st_MakeCutsceneInvisible(object oPC, float fDuration) +{ + effect eInv = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY); + SetLocalInt(oPC, "n1orp_iscutsceneinvisible",TRUE); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eInv, oPC, fDuration); + DelayCommand(fDuration, DeleteLocalInt(oPC, "n1orp_iscutsceneinvisible")); +} + + +////////////////////////\\\\\\\\\\\\\\\\\\\\\\\ +///////////////X1st_DestroyAllItems\\\\\\\\\\\\\ +////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\ +void X1st_DestroyAllItems(object oContainer) +{ + object oItem; + int i = 0; + for (i=0;ifRadius){oPC=OBJECT_INVALID;} + return oPC; +} + +//Returns the nNth nearest NPC in radius - if none - OBJECT_INVALID is returned +object o1st_GetNearestNPCinRadius(int nNth=1, object oOBJ=OBJECT_SELF, float fRadius=10.0); +object o1st_GetNearestNPCinRadius(int nNth=1, object oOBJ=OBJECT_SELF, float fRadius=10.0) +{object oNPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_NOT_PC,oOBJ,nNth); + if (GetDistanceBetween(oOBJ,oNPC)>fRadius){oNPC=OBJECT_INVALID;} + return oNPC; +} + +//Checks 2da Row value versus Model Name (returns TRUE or FALSE) +// Current Values for s2DA: "appearance", "wingmodel", "tailmodel", "placeables", or "phenotype" +//Stores information as Variable on Module so that checks only need to be done once/game +// NOTE for phenotypes sModel is the TLK # (as a string, i.e. "###") +int n1st_2DA_Check(string s2DA, int nRow, string sModel); + +//First Checks 2DA Row vs. Model name, if matches, then returns the same Row +// if no match, it then searches 2da for model name & either returns -1 +// if it cannot find it, or the correct row number. +// if you set nRow = -1, then it searches the 2DA for sModel, and returns +// either -1 if it doesn't find it, or the row number if it does. +// Current Values for s2DA: "appearance", "wingmodel", "tailmodel", "placeables", or "phenotype" +// Stores information as Variable on Module to speed up frequent checks on same model. +// NOTE for phenotypes sModel is the TLK # (as a string, i.e. "###") +int n1st_Get_2DARow(string s2DA, int nRow, string sModel); + +//Acquires the Model Name (in lower case) for a row# of a 2da +// if row # does not exist returns "" (empty string) +// Current Values for s2DA: "appearance", "wingmodel", "tailmodel", "placeables", or "phenotype" +// Stores information as Variable on Module to speed up frequent checks on same model. +// NOTE for phenotypes sModel is the TLK # (as a string, i.e. "###") +string s1st_Get_2DAModelName(string s2DA, int nRow); + + +//Checks object oInventory for an item (Returns TRUE if found, FALSE if not) +// To check only sTag, state the TAG Name of the object +// To check for item by ResRef only, use "" for sTag, and then the sResRef to check for +// To check for item by NAME only, use "" for sTag & sResRef, and then enter the name to check for +// To check for item using multiple criteria, specify what to check for, leaving "" for what to bypass +// i.e. to Check for an item with TAG = "item_001" and NAME = "Brain of CharlieX" use: +// n1st_HasItemInInventory(oPC, "item_001", "", "Brain of CharlieX"); +int n1st_HasItemInInventory(object oInventory, string sTag, string sResRef="", string sName=""); + +//Returns the Item object in oInventory's Inventory (or returns OBJECT_INVALID, if it does not exist) +// To check only sTag, state the TAG Name of the object +// To check for item by ResRef only, use "" for sTag, and then the sResRef to check for +// To check for item by NAME only, use "" for sTag & sResRef, and then enter the name to check for +// To check for item using multiple criteria, specify what to check for, leaving "" for what to bypass +// i.e. to Check for an item with TAG = "item_001" and NAME = "Brain of CharlieX" use: +// n1st_HasItemInInventory(oPC, "item_001", "", "Brain of CharlieX"); +object o1st_GetItemInInventory(object oInventory, string sTag, string sResRef="", string sName=""); + +//Returns the percentage change necessary to alter the creature's walkrate +//Negative Values for slow down, positive for speedup. +//fWalkRate is the rate you want to set. +//fDefaultRate is the walk speed from the Appearances.2da file. +// this does not need to be set for PC Races and can be left 0. +//Takes into account Haste/Slowed creatures +float f1st_GetSpeed_PercentChange(object oCreature, float fWalkRate, float fDefault_Rate=0.0); + +//Remove Effect of Type +// oObject <= Object you want to remove the effect of type from +// int nEffect_Type <= the effect type constant to remove (use constants EFFECT_TYPE_xxxx) +void x1st_Effect_RemoveType(object oObject, int nEffect_Type); + +//FUNCTION DEFINITIONS\\ +int n1st_2DA_Check(string s2DA, int nRow, string sModel) +{ + string sColumn; + string sVar_Prefix; + string sVar; + string sModelStored; + int nBool = FALSE; + int nCheck=FALSE; + if (nRow<0){return nBool;} + sModel = GetStringLowerCase(sModel); + s2DA = GetStringLowerCase(s2DA); + +//Acquire Column for Model Names & Establish variable prefix +//"appearance", "wingmodel", "tailmodel", "placeables" + if (s2DA == "phenotype") + {sColumn = "Name"; sVar_Prefix = "1o2P2_"; nCheck=TRUE;} + + if (s2DA == "appearance") + {sColumn = "RACE"; sVar_Prefix = "1o2A1_"; nCheck=TRUE;} + + if (s2DA == "placeables") + {sColumn = "ModelName";sVar_Prefix = "1o2P1_"; nCheck=TRUE;} + + if (s2DA == "tailmodel") + {sColumn = "MODEL";sVar_Prefix = "1o2T1_"; nCheck=TRUE;} + + if (s2DA == "wingmodel") + {sColumn = "MODEL";sVar_Prefix = "1o2W1_"; nCheck=TRUE;} + +//Using a valid 2da file for this? +if (nCheck==FALSE){return nCheck;} + +//Check Module Variable + sVar= sVar_Prefix + IntToString(nRow); //Row can be 1-5, sVar_Suf=6 + sModelStored = GetLocalString(GetModule(), sVar); + + if (sModelStored == sModel){return TRUE;} + if (sModelStored !=""){return FALSE;} //Case where a different model name is stored + +//At this point the local variable has not been initialized. +//Explore 2DA file (in this case only check Row vs Model - do not search) + + sModelStored = Get2DAString(s2DA,sColumn,nRow); + sModelStored = GetStringLowerCase(sModelStored); + if (sModelStored == sModel){nBool=TRUE;} + SetLocalString(GetModule(), sVar, sModelStored); + return nBool; +} + +int n1st_Get_2DARow(string s2DA, int nRow, string sModel) +{ + string sColumn; + string sVar_Prefix; + string sVar; + string sModel2DA; + int nModelRowStored; + +// int nNeedCoffee = FALSE; + int nBool = FALSE; + int nCheck = FALSE; + int nEOF = 0; // current row # of 2da. -2 means EOF. + + sModel = GetStringLowerCase(sModel); + s2DA = GetStringLowerCase(s2DA); + +//Adjust sModel length (shouldn't be more than 16, but if it is..) + if (GetStringLength(sModel)>16){sModel=GetStringLeft(sModel,16);} + + +//Acquire Column for Model Names & Establish variable prefix +//"appearance", "wingmodel", "tailmodel", "placeables" + if (s2DA == "phenotype") + {sColumn = "Name"; sVar_Prefix = "1o2P2_"; nCheck=TRUE;} + + if (s2DA == "appearance") + {sColumn = "RACE"; sVar_Prefix = "1o2A1_"; nCheck=TRUE;} + + if (s2DA == "placeables") + {sColumn = "ModelName";sVar_Prefix = "1o2P1_"; nCheck=TRUE;} + + if (s2DA == "tailmodel") + {sColumn = "MODEL";sVar_Prefix = "1o2T1_"; nCheck=TRUE;} + + if (s2DA == "wingmodel") + {sColumn = "MODEL";sVar_Prefix = "1o2W1_"; nCheck=TRUE;} + +//Using a valid 2da file for this? +if (nCheck==FALSE){return -1;} + +//Check Module Variable + sVar= sVar_Prefix + sModel; + nModelRowStored = GetLocalInt(GetModule(), sVar); + nEOF = GetLocalInt(GetModule(), sVar_Prefix + "EOF_RESULT"); + + if (nModelRowStored == -1){return -1;} + if (nModelRowStored != 0){return nModelRowStored;} + if (nEOF == -2){return -1;} +// nNeedCoffee=TRUE; // why -2 for EOF? + +//At this point the local variable has not been initialized. +//here we will initialize variables as reading them from the 2DA +// Starting from the last check & ending when the model name is found. +// Also needs to enter an EOF line + +//First quick check if nRow is given... +if (nRow!=-1) + { + sModel2DA = GetStringLowerCase(Get2DAString(s2DA,sColumn,nRow)); + if (sModel2DA==sModel) + { + SetLocalInt(GetModule(), sVar, nRow); + return nRow; + } + } + +// Now we need to do the full 2DA search. +// I'd be tempted to try a more complex search rather than linear, but... + +//Get last line +nRow=nEOF; +//switch(nNeedCoffee){case TRUE: break;} +//nNeedCoffee=FALSE; +if (nRow<0){nRow=0;} +sModel2DA = GetStringLowerCase(Get2DAString(s2DA,sColumn,nRow)); +while (sModel2DA!="") + { + // was it found? if so record position and return. + if (sModel2DA==sModel) + { + SetLocalInt(GetModule(), sVar, nRow); + SetLocalInt(GetModule(), sVar_Prefix + "EOF_RESULT",nRow); + return nRow; + } + nRow++; + sModel2DA = GetStringLowerCase(Get2DAString(s2DA,sColumn,nRow)); + } + +//NOT FOUND & EOF. + SetLocalInt(GetModule(), sVar_Prefix + "EOF_RESULT",-2); + return -1; +} + + +//Acquires the Model Name (in lower case) for a row# of a 2da +// if row # does not exist returns "" (empty string) +// Current Values for s2DA: "appearance", "wingmodel", "tailmodel", "placeables", or "phenotype" +// Stores information as Variable on Module to speed up frequent checks on same model. +// NOTE for phenotypes sModel is the TLK # (as a string, i.e. "###") +string s1st_Get_2DAModelName(string s2DA, int nRow) +{ + if (nRow <0){return "";} + + string sColumn; + string sVar_Prefix; + string sVar; + string sModel; + int nBool = FALSE; + int nCheck = FALSE; + + s2DA = GetStringLowerCase(s2DA); + +//Acquire Column for Model Names & Establish variable prefix +//"appearance", "wingmodel", "tailmodel", "placeables" + if (s2DA == "phenotype") + {sColumn = "Name"; sVar_Prefix = "1o2P2_"; nCheck=TRUE;} + + if (s2DA == "appearance") + {sColumn = "RACE"; sVar_Prefix = "1o2A1_"; nCheck=TRUE;} + + if (s2DA == "placeables") + {sColumn = "ModelName";sVar_Prefix = "1o2P1_"; nCheck=TRUE;} + + if (s2DA == "tailmodel") + {sColumn = "MODEL";sVar_Prefix = "1o2T1_"; nCheck=TRUE;} + + if (s2DA == "wingmodel") + {sColumn = "MODEL";sVar_Prefix = "1o2W1_"; nCheck=TRUE;} + +//Using a valid 2da file for this? +if (nCheck==FALSE){return "";} + +//Check Module Variable + sVar= sVar_Prefix + IntToString(nRow); //Row can be 1-5, sVar_Suf=6 + sModel = GetLocalString(GetModule(), sVar); + + if (GetStringLength(sModel)>0){return sModel;} + +//At this point the local variable has not been initialized. +//Explore 2DA file + + sModel = Get2DAString(s2DA,sColumn,nRow); + sModel = GetStringLowerCase(sModel); + SetLocalString(GetModule(), sVar, sModel); + return sModel; +} + + + + +int n1st_HasItemInInventory(object oInventory, string sTag, string sResRef="", string sName="") +{ + if (GetIsObjectValid(oInventory)==FALSE){return FALSE;} + if (GetHasInventory(oInventory)==FALSE){return FALSE;} + + object oItem = GetFirstItemInInventory(oInventory); + object oItem2; + + int nBoolTag = FALSE; + int nBoolResRef = FALSE; + int nBoolName = FALSE; + int nTests=0; + if (sTag!=""){nTests=1;} + if (sResRef!=""){nTests=nTests+1;} + if (sName!=""){nTests=nTests+1;} + + while (GetIsObjectValid(oItem)==TRUE) + { + nBoolTag = FALSE; + nBoolResRef = FALSE; + nBoolName = FALSE; + + if ((sTag!="") && (GetTag(oItem)==sTag)) {nBoolTag=TRUE;} + if ((sResRef!="") && (GetResRef(oItem)==sResRef)) {nBoolResRef=TRUE;} + if ((sName!="") && (GetName(oItem)==sName)) {nBoolName=TRUE;} + if (nTests==nBoolTag+nBoolResRef+nBoolName){return TRUE;} + + + if (GetHasInventory(oItem)==TRUE) + { + oItem2 = GetFirstItemInInventory(oItem); + while (GetIsObjectValid(oItem2)==TRUE) + { + nBoolTag = FALSE; + nBoolResRef = FALSE; + nBoolName = FALSE; + + if ((sTag!="") && (GetTag(oItem)==sTag)) {nBoolTag=TRUE;} + if ((sResRef!="") && (GetResRef(oItem)==sResRef)) {nBoolResRef=TRUE;} + if ((sName!="") && (GetName(oItem)==sName)) {nBoolName=TRUE;} + if (nTests==nBoolTag+nBoolResRef+nBoolName){return TRUE;} + oItem2 = GetNextItemInInventory(oItem); + } + } + + oItem = GetNextItemInInventory(oInventory); + } + return FALSE; +} + + +object o1st_GetItemInInventory(object oInventory, string sTag, string sResRef="", string sName="") +{ + if (GetIsObjectValid(oInventory)==FALSE){return OBJECT_INVALID;} + if (GetHasInventory(oInventory)==FALSE){return OBJECT_INVALID;} + + object oItem = GetFirstItemInInventory(oInventory); + object oItem2; + + int nBoolTag = FALSE; + int nBoolResRef = FALSE; + int nBoolName = FALSE; + int nTests=0; + if (sTag!=""){nTests=1;} + if (sResRef!=""){nTests=nTests+1;} + if (sName!=""){nTests=nTests+1;} + + while (GetIsObjectValid(oItem)==TRUE) + { + nBoolTag = FALSE; + nBoolResRef = FALSE; + nBoolName = FALSE; + + if ((sTag!="") && (GetTag(oItem)==sTag)) {nBoolTag=TRUE;} + if ((sResRef!="") && (GetResRef(oItem)==sResRef)) {nBoolResRef=TRUE;} + if ((sName!="") && (GetName(oItem)==sName)) {nBoolName=TRUE;} + if (nTests==nBoolTag+nBoolResRef+nBoolName){return oItem;} + + + if (GetHasInventory(oItem)==TRUE) + { + oItem2 = GetFirstItemInInventory(oItem); + while (GetIsObjectValid(oItem2)==TRUE) + { + nBoolTag = FALSE; + nBoolResRef = FALSE; + nBoolName = FALSE; + + if ((sTag!="") && (GetTag(oItem)==sTag)) {nBoolTag=TRUE;} + if ((sResRef!="") && (GetResRef(oItem)==sResRef)) {nBoolResRef=TRUE;} + if ((sName!="") && (GetName(oItem)==sName)) {nBoolName=TRUE;} + if (nTests==nBoolTag+nBoolResRef+nBoolName){return oItem2;} + oItem2 = GetNextItemInInventory(oItem); + } + } + + oItem = GetNextItemInInventory(oInventory); + } + return OBJECT_INVALID; +} + + +float f1st_GetSpeed_PercentChange(object oCreature, float fWalkRate, float fDefault_Rate=0.0) +{ + int nRace = GetRacialType(oCreature); + effect eEff; + float fSpeed_Percent=0.0; + float fRace_Speed; + switch (nRace) + { + case RACIAL_TYPE_DWARF: fRace_Speed = 1.06; break; + case RACIAL_TYPE_ELF: fRace_Speed = 1.43; break; + case RACIAL_TYPE_GNOME: fRace_Speed = 1.0; break; + case RACIAL_TYPE_HALFLING: fRace_Speed = 1.43; break; + default: fRace_Speed = 1.6; break; + } + +//Make adjustments for Haste/Slow: + int nHaste=0; + int nSlow=0; + + eEff = GetFirstEffect(oCreature); + while (GetIsEffectValid(eEff)==TRUE) + { + if (GetEffectType(eEff) == EFFECT_TYPE_HASTE) {nHaste=1;} + if (GetEffectType(eEff) == EFFECT_TYPE_SLOW) {nSlow=-1;} + eEff = GetNextEffect(oCreature); + } + nHaste = nHaste+nSlow; + + switch (nHaste) + { + case 0: + break; + + case -1: //Slow + fRace_Speed = fRace_Speed - 0.5*fRace_Speed; + break; + + case 1: //Haste + fRace_Speed = fRace_Speed + 0.5*fRace_Speed; + break; + } + + fSpeed_Percent = fWalkRate/fRace_Speed - 1.0; + + return fSpeed_Percent; +} + +void x1st_Effect_RemoveType(object oObject, int nEffect_Type) +{ + + effect eFX = GetFirstEffect(oObject); + while (GetIsEffectValid(eFX) == TRUE) + { + if (GetEffectType(eFX) == nEffect_Type){RemoveEffect(oObject,eFX);} + eFX = GetNextEffect(oObject); + } + + +} + + + + +//void main(){} + +/* + PrintString("+================================================+"); + PrintString("+========== Builders' Compendium ==========+"); + PrintString("+=== ===+"); + PrintString("+=== A 1st Order of Role-Players' Creation ===+"); + PrintString("+========== www.1stOrder.net ==========+"); + PrintString("+================================================+"); + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_inc_constant.nss b/cep_blueprints/_hak/prc_add_sb/zep_inc_constant.nss new file mode 100644 index 0000000..6584378 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_inc_constant.nss @@ -0,0 +1,285 @@ +/* zep_inc_constant + + #include "zep_inc_constant" + + + Created August 28 - TheExcimer-500 + NOTE: Only Phenotypes & Wings for now. + More to be added when needed +*/ + +//Phenotypes + +const string sCEP_PH_NORMAL = "2223"; +const string sCEP_PH_LARGE = "2225"; + +const int nCEP_PH_FLY = 16; +const string sCEP_PH_FLY = "16815205"; + +const int nCEP_PH_HORSE_BROWN = 17; +const string sCEP_PH_HORSE_BROWN = "16815207"; + +const int nCEP_PH_PONY_SPOT = 18; +const string sCEP_PH_PONY_SPOT = "16815208"; + +const int nCEP_PH_HORSE_WHITE = 10; +const string sCEP_PH_HORSE_WHITE = "16815210"; + +const int nCEP_PH_HORSE_BLACK = 11; +const string sCEP_PH_HORSE_BLACK = "16815211"; + +const int nCEP_PH_HORSE_NIGHTMARE = 12; +const string sCEP_PH_HORSE_NIGHTMARE = "16815212"; + +const int nCEP_PH_HORSE_AURENTHIL = 13; +const string sCEP_PH_HORSE_AURENTHIL = "16815213"; + +const int nCEP_PH_PONY_BROWN = 14; +const string sCEP_PH_PONY_BROWN = "16815214"; + +const int nCEP_PH_PONY_LTBROWN = 15; +const string sCEP_PH_PONY_LTBROWN = "16815215"; + +//Constants for Large Phenotypes (matches phenotype.2da) +const int nCEP_PH_FLY_L = 25; +const string sCEP_PH_FLY_L = "16815225"; + +const int nCEP_PH_HORSE_BROWN_L = 27; +const string sCEP_PH_HORSE_BROWN_L = "16815227"; + +const int nCEP_PH_PONY_SPOT_L = 28; +const string sCEP_PH_PONY_SPOT_L = "16815228"; + +const int nCEP_PH_HORSE_WHITE_L = 30; +const string sCEP_PH_HORSE_WHITE_L = "16815230"; + +const int nCEP_PH_HORSE_BLACK_L = 31; +const string sCEP_PH_HORSE_BLACK_L = "16815231"; + +const int nCEP_PH_HORSE_NIGHTMARE_L = 32; +const string sCEP_PH_HORSE_NIGHTMARE_L = "16815232"; + +const int nCEP_PH_HORSE_AURENTHIL_L = 33; +const string sCEP_PH_HORSE_AURENTHIL_L = "16815233"; + +const int nCEP_PH_PONY_BROWN_L = 34; +const string sCEP_PH_PONY_BROWN_L = "16815234"; + +const int nCEP_PH_PONY_LTBROWN_L = 35; +const string sCEP_PH_PONY_LTBROWN_L = "16815235"; + + +//Wings +const string sCEP_WG_MDL_COLUMN = "MODEL"; +const int nCEP_WG_NONE = 0; +const int nCEP_WG_DEMON = 1; +const int nCEP_WG_ANGEL =2; +const int nCEP_WG_BAT = 3; +const int nCEP_WG_DRAGON_RED = 4; +const int nCEP_WG_BUTTERFLY = 5; +const int nCEP_WG_BIRD = 6; +const int nCEP_WG_ANGEL_FALLEN =7; +const int nCEP_WG_BIRD_RAVEN = 8; +const int nCEP_WG_DEMON_BALOR = 9; +const int nCEP_WG_GARGOYLE = 10; +const int nCEP_WG_BUTTERFLY_YELLOW = 11; +const int nCEP_WG_BUTTERFLY_ORANGE = 12; +const int nCEP_WG_BUTTERFLY_BLACK = 13; +const int nCEP_WG_BUTTERFLY_BLUE = 14; +const int nCEP_WG_BUTTERFLY_RED = 15; +const int nCEP_WG_DRAGON_SHADOW = 16; +const int nCEP_WG_DRAGON_DRACOLICH = 17; +const int nCEP_WG_DRAGON_PRISMATIC = 18; +const int nCEP_WG_DRAGON_BIG = 19; +const int nCEP_WG_DEMON_MEPHISTO = 20; + +const int nCEP_WG_DEMON_SKIN = 22; +const int nCEP_WG_ANGEL_SKIN = 23; +const int nCEP_WG_BAT_SKIN = 24; +const int nCEP_WG_BUTTERFLY_SKIN = 25; +const int nCEP_WG_BIRD_SKIN = 26; +const int nCEP_WG_DRAGON_SKIN = 27; +const int nCEP_WG_BIRD_KENKU = 28; +const int nCEP_WG_ANGEL_ARMORED = 29; +const int nCEP_WG_DEMON_ERINYES = 30; +const int nCEP_WG_BIRD_RED = 31; +const int nCEP_WG_BIRD_DARK = 32; +const int nCEP_WG_BIRD_BLUE = 33; +const int nCEP_WG_DRAGON_BLACK = 34; +const int nCEP_WG_DRAGON_BLUE = 35; +const int nCEP_WG_DRAGON_BRASS = 36; +const int nCEP_WG_DRAGON_BRONZE = 37; +const int nCEP_WG_DRAGON_COPPER = 38; +const int nCEP_WG_DRAGON_GOLD = 39; +const int nCEP_WG_DRAGON_GREEN = 40; +const int nCEP_WG_DRAGON_SILVER = 41; +const int nCEP_WG_DRAGON_WHITE = 42; //the answer to the ultimate question +const int nCEP_WG_HALFDRAGON_GOLD = 43; +const int nCEP_WG_HALFDRAGON_SILVER = 44; +const int nCEP_WG_FLYING_DEMON_1 = 45; +const int nCEP_WG_FLYING_DEMON_2 = 46; +const int nCEP_WG_FLYING_ANGEL = 47; +const int nCEP_WG_BUTTERFLY_GREENGOLD = 48; +const int nCEP_WG_BUTTERFLY_FOREST = 49; +const int nCEP_WG_BUTTERFLY_SIENNA = 50; +const int nCEP_WG_BUTTERFLY_BRGBLUE = 51; +const int nCEP_WG_BUTTERFLY_DKFOREST = 52; +const int nCEP_WG_BUTTERFLY_VIOLET = 53; +const int nCEP_WG_BUTTERFLY_VIOLETGOLD = 54; +const int nCEP_WG_BUTTERFLY_ICEGREEN = 55; +const int nCEP_WG_BUTTERFLY_MAUVE = 56; +const int nCEP_WG_DEMON_RED_TRANS = 57; +const int nCEP_WG_DEMON_BLUE_TRANS = 58; + + +const string sCEP_WG_DEMON = "c_wingsdm"; +const string sCEP_WG_ANGEL = "c_wingsan"; +const string sCEP_WG_BAT = "c_wingbat"; +const string sCEP_WG_DRAGON_RED = "c_wingdra"; +const string sCEP_WG_BUTTERFLY = "c_wingbut"; +const string sCEP_WG_BIRD = "c_wingbird"; +const string sCEP_WG_ANGEL_FALLEN = "c_wingsfallen"; +const string sCEP_WG_BIRD_RAVEN = "c_wingsraven"; +const string sCEP_WG_DEMON_BALOR = "c_wingsbalr"; +const string sCEP_WG_GARGOYLE = "c_wingsgarg"; +const string sCEP_WG_BUTTERFLY_YELLOW = "c_yelbutter"; +const string sCEP_WG_BUTTERFLY_ORANGE = "c_orabutter"; +const string sCEP_WG_BUTTERFLY_BLACK = "c_blabutter"; +const string sCEP_WG_BUTTERFLY_BLUE = "c_blubutter"; +const string sCEP_WG_BUTTERFLY_RED = "c_redbutter"; +const string sCEP_WG_DRAGON_SHADOW = "c_wingdrashadow"; +const string sCEP_WG_DRAGON_DRACOLICH = "c_wingdralich"; +const string sCEP_WG_DRAGON_PRISMATIC = "c_wingdraprism"; +const string sCEP_WG_DRAGON_BIG = "c_winged"; +const string sCEP_WG_DEMON_MEPHISTO = "c_wingsmeph"; + +const string sCEP_WG_DEMON_SKIN = "c_w_dm_plt"; +const string sCEP_WG_ANGEL_SKIN = "c_w_an_plt"; +const string sCEP_WG_BAT_SKIN = "c_w_bat_plt"; +const string sCEP_WG_BUTTERFLY_SKIN = "c_w_but_plt"; +const string sCEP_WG_BIRD_SKIN = "c_w_bird_plt"; +const string sCEP_WG_DRAGON_SKIN = "c_w_dra_plt"; +const string sCEP_WG_BIRD_KENKU = "c_wingkenkub"; +const string sCEP_WG_ANGEL_ARMORED = "c_wingsarman"; +const string sCEP_WG_DEMON_ERINYES = "zep_wingerin"; +const string sCEP_WG_BIRD_RED = "zep_wingsbird2"; +const string sCEP_WG_BIRD_DARK = "zep_wingsbird3"; +const string sCEP_WG_BIRD_BLUE = "zep_wingsbird4"; +const string sCEP_WG_DRAGON_BLACK = "c_wingdrablack"; +const string sCEP_WG_DRAGON_BLUE = "c_wingdrablue"; +const string sCEP_WG_DRAGON_BRASS = "c_wingdrabrass"; +const string sCEP_WG_DRAGON_BRONZE = "c_wingdrabronze"; +const string sCEP_WG_DRAGON_COPPER = "c_wingdracopper"; +const string sCEP_WG_DRAGON_GOLD = "c_wingdragold"; +const string sCEP_WG_DRAGON_GREEN = "c_wingdragreen"; +const string sCEP_WG_DRAGON_SILVER = "c_wingdrasilver"; +const string sCEP_WG_DRAGON_WHITE = "c_wingdrawhite"; +const string sCEP_WG_HALFDRAGON_GOLD = "c_winggldhdrg"; +const string sCEP_WG_HALFDRAGON_SILVER = "c_wingslvhdrg"; +const string sCEP_WG_FLYING_DEMON_1 = "w2_wingsdm"; +const string sCEP_WG_FLYING_DEMON_2 = "w1_wingsdm"; +const string sCEP_WG_FLYING_ANGEL = "tk_wingsan"; +const string sCEP_WG_BUTTERFLY_GREENGOLD = "c_wingbut2"; +const string sCEP_WG_BUTTERFLY_FOREST = "c_wingbut3"; +const string sCEP_WG_BUTTERFLY_SIENNA = "c_wingbut4"; +const string sCEP_WG_BUTTERFLY_BRGBLUE = "c_wingbut5"; +const string sCEP_WG_BUTTERFLY_DKFOREST = "c_wingbut6"; +const string sCEP_WG_BUTTERFLY_VIOLET = "c_wingbut7"; +const string sCEP_WG_BUTTERFLY_VIOLETGOLD = "c_wingbut8"; +const string sCEP_WG_BUTTERFLY_ICEGREEN = "c_wingbut9"; +const string sCEP_WG_BUTTERFLY_MAUVE = "c_wingbut10"; +const string sCEP_WG_DEMON_RED_TRANS = "c_winredsha"; +const string sCEP_WG_DEMON_BLUE_TRANS = "c_winblusha"; + + + + + + + + + + + +//Certain Appearance #s & MDL names +const string sCEP_APP_MDL_COLUMN = "RACE"; +const int nCEP_APP_VAMPIRE_F_FLY = 1807; +const string sCEP_APP_VAMPIRE_F_FLY = "wg_vampire_f"; +const int nCEP_APP_VAMPIRE_M_FLY = 1808; +const string sCEP_APP_VAMPIRE_M_FLY = "wg_vampire_m"; +const int nCEP_APP_KOBOLD_A_FLY = 1809; +const string sCEP_APP_KOBOLD_A_FLY = "wg_kobold"; +const int nCEP_APP_SUCCUBUS_FLY = 1810; +const string sCEP_APP_SUCCUBUS_FLY = "wg_succubus2"; +const int nCEP_APP_ERINYES_FLY = 1812; +const string sCEP_APP_ERINYES_FLY = "wg_erinyes"; +const int nCEP_APP_KOBOLD_B_FLY = 1813; +const string sCEP_APP_KOBOLD_B_FLY = "wg_kobb"; +const int nCEP_APP_KOBOLD_CH_A_FLY = 1814; +const string sCEP_APP_KOBOLD_CH_A_FLY = "wg_kobchiefa"; +const int nCEP_APP_KOBOLD_CH_B_FLY = 1815; +const string sCEP_APP_KOBOLD_CH_B_FLY = "wg_kobchiefb"; +const int nCEP_APP_KOBOLD_SH_A_FLY = 1816; +const string sCEP_APP_KOBOLD_SH_A_FLY = "wg_kobwiza"; +const int nCEP_APP_KOBOLD_SH_B_FLY = 1817; +const string sCEP_APP_KOBOLD_SH_B_FLY = "wg_kobwizb"; + +const int nCEP_APP_VAMPIRE_F = 288; +const string sCEP_APP_VAMPIRE_F = "c_vampire_f"; +const int nCEP_APP_VAMPIRE_M = 289; +const string sCEP_APP_VAMPIRE_M = "c_vampire_m"; +const int nCEP_APP_KOBOLD_A = 302; +const string sCEP_APP_KOBOLD_A = "c_kobA"; +const int nCEP_APP_SUCCUBUS = 163; +const string sCEP_APP_SUCCUBUS = "c_dmsucubus"; +const int nCEP_APP_ERINYES = 1077; +const string sCEP_APP_ERINYES = "erinyes"; +const int nCEP_APP_KOBOLD_B = 305; +const string sCEP_APP_KOBOLD_B = "c_kobB"; +const int nCEP_APP_KOBOLD_CH_A = 300; +const string sCEP_APP_KOBOLD_CH_A = "c_kobchiefA"; +const int nCEP_APP_KOBOLD_CH_B = 303; +const string sCEP_APP_KOBOLD_CH_B = "c_kobchiefB"; +const int nCEP_APP_KOBOLD_SH_A = 301; +const string sCEP_APP_KOBOLD_SH_A = "c_kobwizA"; +const int nCEP_APP_KOBOLD_SH_B = 304; +const string sCEP_APP_KOBOLD_SH_B = "c_kobwizB"; + +const int nCEP_APP_SKELETON_DYN = 1769; +const string sCEP_APP_SKELETON_DYN = "V"; +const int nCEP_APP_BROWNIE_DYN = 1002; +const string sCEP_APP_BROWNIE_DYN = "B"; + +const int nCEP_APP_PCRACE_HUMAN = 6; +const string sCEP_APP_PCRACE_HUMAN = "H"; +const int nCEP_APP_PCRACE_DWARF = 0; +const string sCEP_APP_PCRACE_DWARF = "D"; +const int nCEP_APP_PCRACE_ELF = 1; +const string sCEP_APP_PCRACE_ELF = "E"; +const int nCEP_APP_PCRACE_GNOME = 2; +const string sCEP_APP_PCRACE_GNOME = "G"; +const int nCEP_APP_PCRACE_HALFLING = 3; +const string sCEP_APP_PCRACE_HALFLING = "A"; +const int nCEP_APP_PCRACE_HALFELF = 4; +const string sCEP_APP_PCRACE_HALFELF = "H"; +const int nCEP_APP_PCRACE_HALFORC = 5; +const string sCEP_APP_PCRACE_HALFORC = "O"; + +const int nCEP_APP_PONY_SPOTTED = 1855; +const string sCEP_APP_PONY_SPOTTED = "pony_pez"; +const int nCEP_APP_PONY_BROWN = 1856; +const string sCEP_APP_PONY_BROWN = "pony_mar"; +const int nCEP_APP_PONY_LTBROWN = 1857; +const string sCEP_APP_PONY_LTBROWN = "pony_bia"; + +const int nCEP_APP_HORSE_BROWN = 1858; +const string sCEP_APP_HORSE_BROWN = "cav_marrone"; +const int nCEP_APP_HORSE_WHITE = 1859; +const string sCEP_APP_HORSE_WHITE = "cav_bianco"; +const int nCEP_APP_HORSE_BLACK = 1860; +const string sCEP_APP_HORSE_BLACK = "cav_nero"; +const int nCEP_APP_HORSE_NIGHTMARE = 1861; +const string sCEP_APP_HORSE_NIGHTMARE = "cav_nm"; +const int nCEP_APP_HORSE_AURENTHIL = 1862; +const string sCEP_APP_HORSE_AURENTHIL = "cav_aur"; + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_inc_craft.ncs b/cep_blueprints/_hak/prc_add_sb/zep_inc_craft.ncs new file mode 100644 index 0000000..5bf4aef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_inc_craft.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_inc_craft.nss b/cep_blueprints/_hak/prc_add_sb/zep_inc_craft.nss new file mode 100644 index 0000000..05c7166 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_inc_craft.nss @@ -0,0 +1,1224 @@ +//::////////////////////////////////////////////// +//:: Completely redone Armor and Weapon redesign functions +//:: Further redone by Loki Hakanin +//:: zep_inc_craft +//::////////////////////////////////////////////// +/* + This is a complete rework of the Armor- and Weaponcrafting skill + No existing scripts are overridden or replaced, only the conversation + x0_skill_ctrap needs to be replaced to activate the custom crafting. + + Original scripts written by SartriX + Modified for inclusion in the CEP by Loki Hakanin + Note from Loki: In general, all comments I've added + will be labeled as "Note from Loki". + + Additions to the original Bioware scripts: + - Bugs fixed + - Enhanced performance + - Support for custom armor- and weaponmodels + - Helmet and Shield crafting added + + Note from Loki: Do not have a decent server handy to + test the below out on. If the zep_cr_nocheat script is + used either as an "OnEnter" script for a module/server, + or executed therein, it should stop this exploit. This + function is 100% SartriX's original, as since I have not + tested it, I do not know if it needs modification. + - Counters the 'double item' exploit ! + + Note from Loki: Optional Features: Can be enabled + by enabling flags. Bottom 2 use SartriX's original + code, but just with renamed variables and the like to + conform to CEP naming convention. + - Reworked Cost and DC + - Use of crafting placeables (like Forge) + - Use of NPC crafters + + Modifications and enhancements by Loki Hakanin- + - Fixed errors in logic of conditional statements + causing them not to function when a PC attempts + crafting by themselves (with the "require + placble" flag set to FALSE). + - Added code to next/previous cyclying segments to + enhance robustness-functions can now handle + irregular inputs-that is to say, custom models + that aren't all 100% identical to Bioware + numbering conventions (e.g. more than 3 + appearances/colors for a given shield index, more + than 4 for weapons). + - Fixed coding error causing shield alterations to require + dyes. + - Added support for new CEP weapon types. + - Fixed error causing incorrect display of leg options + - Fixed glitch preventing remodelling of hand axes. + + To be Added Later: + - Built in color selection for armor and helmets (optional flag) + + Note from Loki: Note that the code for coloring and + the like is still here, I have merely temporarily + disabled it, by and large For CEP R1, we wanted + things to work just like Bioware's code where we were + replacing/updating code to work with custom content. + Also, as the dynamic color alteration requires + addiitonal item blueprints (the full dyeset), there + was concern this would make default Bioware dyes + useless, violating the CEP's "harm no existing content" + rule. This code and these items will be re-worked in a + later release to integrate with the original Bioware + dyes. + + This crafting system was originally made by SartriX + His original scriptset has been posted on nwvault: + - http://nwvault.ign.com/Files/scripts/data/1071920548260.shtml + +*/ +//::////////////////////////////////////////////// +//:: Created By: SartriX (original version) +//:: Modified by Loki Hakanin +//:: Created On (original version): 16-dec-2003 +//:: Updated On (original version): 16-jan-2004 +//:: Updated/Modified by Loki: 26-Feb-2004 +//::////////////////////////////////////////////// +//:: The Krit modified shield crafting on 10-Oct-2008. +//:: (Also restored support for CEP tridents, and +//:: fixed bug in ZEP_GetNumberOfArmorAppearances().) +//::////////////////////////////////////////////// + + +#include "x2_inc_craft" +#include "zep_inc_main" + +// Set to FALSE to disable the requirement of the proper placeable to be near the PC +const int ZEP_CR_REQUIRE_PLACEABLE = FALSE; +//Tag of crafting placeable +const string ZEP_CR_PLACEABLE_TAG = "zep_cr_craftplace"; +// Maximum distance to a crafting placeable +const float ZEP_CR_REQUIRED_DISTANCE = 4.0f; + +// Set to FALSE to disable the requirement and use of dyes when recolouring +const int ZEP_CR_REQUIRE_DYES = FALSE; + +// Maximum cost in percent of the item's original valie at all times regardless of any other settings +const int ZEP_CR_MAXCOST = 90; +// Percentage of cost for each part of a weapon (3 parts max) or a helmet/shield (1 part max) +const int ZEP_CR_PARTCOST = 20; +// Added percentage of cost for dye changes by NPC +const int ZEP_CR_NPCDYECOST = 1; +// Percentage it costs to craft one self compared to what a NPC would ask for the same +// NPC cost is always 100% of the CraftCost in des_crft_aparts.2da +const int ZEP_CR_SELFCRAFT = 70; +// The DC that's added to craft magical items. This DC is added for each magical property it has +const int ZEP_CR_DCADD = 2; + +// Tag of the backup container +// One is supplied as custom placeable (custom -> special -> custom5 -> zep_cr_backup) +// and should be placed on a preferrably inaccessible location. If the container can not be found, +// the backup item will be added to the PC's inventory, it won't break the entire script. +// Note from Loki: I've altered this implementatoin as well. +// Following Bioware's example, I spawn and make invisible a crafting container +// if I find none in the module. Difference being, I delete +// it at the end of crafting, for completeness's sake. +const string ZEP_CR_BACKUP_PLACEABLE = "zep_cr_backup"; + +// Internal constants, do not touch! +const int ZEP_CR_DONE_SUCCESS = 1; +const int ZEP_CR_DONE_FAILED = 2; +const int ZEP_CR_DONE_NOGOLD = 3; +const int ZEP_CR_DONE_NODYE = 4; + +const int ZEP_CR_PART_NEXT = 0; +const int ZEP_CR_PART_PREV = 1; +const int ZEP_CR_COLOR_NEXT = 3; +const int ZEP_CR_COLOR_PREV = 4; + +const int ZEP_CR_TOKENBASE = 20000; + +const int ZEP_CR_HELMET = 8888; +const int ZEP_CR_SHIELD = 8889; + +//Note from Loki: Above constants were all from +//the original script. Have simply been renamed to +//keep them consistent with CEP nomenclature. +//Constants declared below are my own additions: + +//This constant controls whether SartriX's modified +//DC and costs are used. By default, it is FALSE +//(using Bioware defaults instead). Re-enabling it +//will use the costs in the des_crft_aparts.2da +//file instead. +const int ZEP_USE_OPTIONAL_DC_COST = FALSE; + +//Following constants added when we removed the NumParts +//alterations from the des_crafts_aparts.2da file. This was +//done so people using the default NWN crafting system with +//the CEP would not have a very long set of armors that +//would have blank entries (all the lines in the armor +//2DA files from the last Bioware to the first CEP entry). +//These constants define the max "numparts" in place of the +//2DA files +//Note that weapons and helmets still read the baseitems +//file correctly, or have no problems with the default Bioware +//craft system. Shields, of course, are only craftable with +//a custom script, so they are not included as the below is +//a "legacy compatibility" change. + +const int ZEP_MAX_PARTS_NECK = 255; +const int ZEP_MAX_PARTS_SHOULDER = 255; +const int ZEP_MAX_PARTS_BICEP = 255; +const int ZEP_MAX_PARTS_FOREARM = 255; +const int ZEP_MAX_PARTS_HAND = 255; +const int ZEP_MAX_PARTS_TORSO = 255; +const int ZEP_MAX_PARTS_BELT = 255; +const int ZEP_MAX_PARTS_PELVIS = 255; +const int ZEP_MAX_PARTS_THIGH = 255; +const int ZEP_MAX_PARTS_SHIN = 255; +const int ZEP_MAX_PARTS_FOOT = 255; +const int ZEP_MAX_PARTS_ROBE = 255; + + +// - End of constants - // + + +// Sets up everything for oPC to start crafting on oItem +void ZEP_StartCraft(object oPC, object oItem); + +// Tries to let oPC perform the crafting of his current item +// Will set the localvar ZEP_CR_DONE on success or fail with one +// of the following values to check with a conditional script: +// ZEP_CR_DONE_SUCCESS +// ZEP_CR_DONE_FAILED +// ZEP_CR_DONE_NOGOLD +// ZEP_CR_DONE_NODYE +void ZEP_AttemptCraft(object oPC); + +// Stops crafting and cleans up everything set by the crafting script +// When nExecute is FALSE, it will abort the craft, +// when it's TRUE, it will replace the old item with the new one. +void ZEP_StopCraft(object oPC, int nExecute=FALSE); + +// Sets the current part oPC is working on. +// It accepts all 4 partseries ITEM_APPR_ARMOR_MODEL_*, +// ITEM_APPR_WEAPON_MODEL_*, ITEM_APPR_ARMOR_COLOR_*, ITEM_APPR_WEAPON_COLOR_* +// as long as the proper item has been set to craft on. +// Focusses the camera on the selected part (if applicable). +void ZEP_SetPart(object oPC, int nPart, int nStrRef); + +// Gets the cost to modify oItem into oNew +// Calls the default bioware routines for this, edit this function to override +int ZEP_GetModificationCost(object oItem, object oNew, int nNPC=FALSE); + +// Gets the DC to modify oItem into oNew +// Calls the default bioware routines for this, edit this function to override +int ZEP_GetModificationDC(object oItem, object oNew, int nNPC=FALSE); + +// Remakes and equips the item oPC is working, having the currently set part +// cycled either forward or backward +// nMode: ZEP_CR_PART_NEXT - cycle forward +// nMode: ZEP_CR_PART_PREV - cycle backward +void ZEP_RemakeItem(object oPC, int nMode); + +// Remakes and equips the item oPC is working, having the currently set color +// cycled either forward or backward +// nMode: ZEP_CR_COLOR_NEXT - cycle forward +// nMode: ZEP_CR_COLOR_PREV - cycle backward +void ZEP_RecolorItem(object oPC, int nMode); + +//Function Added by Loki +//Decided to do container checks dynamically and have it +//construct a work container as necessary. This closely +//mirrors Bioware's Own implementation. +object ZEP_GetZEPWorkContainer(object oCaller); + +//Function added by Loki +//Below function used as a substitution for the +//IPGetNumberOfArmorAppearances function in the CEP code. +//This is done because the max NumParts is coded as a +//constant to ensure compatibility with "vanilla' NWN. +int ZEP_GetNumberOfArmorAppearances(int nPart); + + +// - Implementation - // + + +// Sets up everything for oPC to start crafting on oItem +void ZEP_StartCraft(object oPC, object oItem) { + // Immobilize player while crafting + effect eImmob = EffectCutsceneImmobilize(); + eImmob = ExtraordinaryEffect(eImmob); + ApplyEffectToObject(DURATION_TYPE_PERMANENT,eImmob,oPC); + + // Make the camera float near the PC + StoreCameraFacing(); + float fFacing = GetFacing(oPC) + 180.0; + if (fFacing >= 360.0) fFacing -=360.0; + SetCameraFacing(fFacing, 3.5f, 75.0, CAMERA_TRANSITION_TYPE_FAST); + + // Make backup + // Note from Loki: Changed implemenation to stash item in container ALWAYS. + // ZEP_GetZEPWorkContainer will create container if needs be. + object oBackup = CopyItem(oItem, ZEP_GetZEPWorkContainer(OBJECT_SELF), TRUE); + SetLocalObject(oPC, "ZEP_CR_BACKUP", oBackup); + + // Mark temporary item + SetStolenFlag(oItem, TRUE); + SetLocalInt(oItem, "ZEP_CR_TEMPITEM", TRUE); + SetLocalObject(oPC, "ZEP_CR_ITEM", oItem); + + // Preset settings + SetLocalInt(oPC, "ZEP_CR_STARTED", 1); + SetLocalInt(oPC, "ZEP_CR_COST", 0); + SetLocalInt(oPC, "ZEP_CR_DC", 0); + SetLocalInt(oPC, "ZEP_CR_DONE", 0); + SetLocalInt(oPC, "ZEP_CR_CHANGED", FALSE); + SetCustomToken(ZEP_CR_TOKENBASE, ""); + SetCustomToken(ZEP_CR_TOKENBASE+1, "0"); + SetCustomToken(ZEP_CR_TOKENBASE+2, "0"); + SetCustomToken(ZEP_CR_TOKENBASE+3, ""); +} + +// - private - +// Checks if the color for nIndex has changed, if not returns TRUE +// if it has, checks if oPC has the new dye and returns TRUE when he has +// returns FALSE and sets CUSTOM20003 when the required dye is not present +int ZEP_ColorCheck(object oPC, object oItem, object oBackup, int nType, int nIndex) { + // if required dyes are disabled, always return TRUE + if (!ZEP_CR_REQUIRE_DYES) return TRUE; + + // get new color + int nColor = GetItemAppearance(oItem, nType, nIndex); + string sDyeTag = "Dye"; + + if (nColor != GetItemAppearance(oBackup, nType, nIndex)) { + // color has changed, build the tag for the required dye + if (nType == ITEM_APPR_TYPE_ARMOR_COLOR) { + switch(nIndex) { + case ITEM_APPR_ARMOR_COLOR_CLOTH1: + case ITEM_APPR_ARMOR_COLOR_CLOTH2: sDyeTag+= "C"; break; + case ITEM_APPR_ARMOR_COLOR_LEATHER1: + case ITEM_APPR_ARMOR_COLOR_LEATHER2: sDyeTag+= "L"; break; + case ITEM_APPR_ARMOR_COLOR_METAL1: + case ITEM_APPR_ARMOR_COLOR_METAL2: sDyeTag+= "M"; + if (nColor>55 && nColor<60) nColor-=4; break; // translate missing/double metal colors + } + if (nColor<10) sDyeTag+= "0"; + sDyeTag+= IntToString(nColor); + } else { + switch (nColor) { + case 1: sDyeTag+= "M01"; break; // Steel + case 2: sDyeTag+= "M13"; break; // Gold + case 3: sDyeTag+= "M21"; break; // Copper + case 4: sDyeTag+= "M02"; break; // Dark Steel + } + } + if (GetIsObjectValid(GetItemPossessedBy(oPC, sDyeTag))) { + // oPC has the dye, so this color is alright + SetLocalString(oPC, "ZEP_CR_DYES", GetLocalString(oPC, "ZEP_CR_DYES") + sDyeTag + ":"); + return TRUE; + } else { + // oPC does not have the dye, tell which dye is missing + if (GetName(GetObjectByTag(sDyeTag))=="") SpeakString("Missing dye/name: "+sDyeTag); + SetCustomToken(ZEP_CR_TOKENBASE+3, GetName(GetObjectByTag(sDyeTag))); + return FALSE; + } + } + return TRUE; +} + +// Tries to let oPC perform the crafting of his current item +// Will set the localvar ZEP_CR_DONE on success or fail with one +// of the following values to check with a conditional script: +// ZEP_CR_DONE_SUCCESS +// ZEP_CR_DONE_FAILED +// ZEP_CR_DONE_NOGOLD +// ZEP_CR_DONE_NODYE +void ZEP_AttemptCraft(object oPC) { + // don't reattempt a previously craftattempt + if (GetLocalInt(oPC, "ZEP_CR_DONE")>0) return; + + // get current item and backup + object oItem = GetLocalObject(oPC, "ZEP_CR_ITEM"); + object oBackup = GetLocalObject(oPC, "ZEP_CR_BACKUP"); + int nNPC = GetIsObjectValid(GetLocalObject(oPC, "ZEP_CR_NPC")); + int nCost = ZEP_GetModificationCost(oBackup, oItem, nNPC); + int nDC = ZEP_GetModificationDC(oBackup, oItem, nNPC); + int nSkill; + + if (GetGold(oPC)55 && nColor<60) nColor-=4; break; // translate missing/double metal colors + } + if (nColor<10) sDyeTag+= "0"; + sDyeTag+= IntToString(nColor); + SetCustomToken(ZEP_CR_TOKENBASE+3, GetName(GetObjectByTag(sDyeTag))); +} + +// Sets the current part oPC is working on. +// It accepts all 4 partseries ITEM_APPR_ARMOR_MODEL_*, +// ITEM_APPR_WEAPON_MODEL_*, ITEM_APPR_ARMOR_COLOR_*, ITEM_APPR_WEAPON_COLOR_* +// as long as the proper item has been set to craft on. +// Focusses the camera on the selected part (if applicable). +void ZEP_SetPart(object oPC, int nPart, int nStrRef) +{ + SetLocalInt(oPC, "ZEP_CR_PART", nPart); + string sPartName = GetStringByStrRef(nStrRef); + SetLocalString(oPC, "ZEP_CR_PARTNAME", sPartName); + object oItem = GetLocalObject(oPC, "ZEP_CR_ITEM"); + + // * Make the camera float near the PC + float fFacing = GetFacing(oPC) + 180.0; + float fPitch = 75.0; + float fDistance= 3.5; + + if (GetBaseItemType(oItem)==BASE_ITEM_ARMOR) { + switch (nPart) { + case ITEM_APPR_ARMOR_MODEL_LBICEP: + case ITEM_APPR_ARMOR_MODEL_LFOREARM: + case ITEM_APPR_ARMOR_MODEL_LHAND: + case ITEM_APPR_ARMOR_MODEL_LSHOULDER: + case ITEM_APPR_ARMOR_MODEL_LTHIGH: + case ITEM_APPR_ARMOR_MODEL_LSHIN: + case ITEM_APPR_ARMOR_MODEL_LFOOT: fFacing += 60.0; break; + case ITEM_APPR_ARMOR_MODEL_RBICEP: + case ITEM_APPR_ARMOR_MODEL_RFOREARM: + case ITEM_APPR_ARMOR_MODEL_RHAND: + case ITEM_APPR_ARMOR_MODEL_RSHOULDER: + case ITEM_APPR_ARMOR_MODEL_RTHIGH: + case ITEM_APPR_ARMOR_MODEL_RSHIN: + case ITEM_APPR_ARMOR_MODEL_RFOOT: fFacing -= 60.0; break; + } + switch (nPart) { + case ITEM_APPR_ARMOR_MODEL_LBICEP: + case ITEM_APPR_ARMOR_MODEL_RBICEP: + case ITEM_APPR_ARMOR_MODEL_LFOOT: + case ITEM_APPR_ARMOR_MODEL_RFOOT: fDistance = 3.5; fPitch = 47.0; break; + case ITEM_APPR_ARMOR_MODEL_LFOREARM: + case ITEM_APPR_ARMOR_MODEL_RFOREARM: + case ITEM_APPR_ARMOR_MODEL_LHAND: + case ITEM_APPR_ARMOR_MODEL_RHAND: fDistance = 2.0; fPitch = 60.0; break; + case ITEM_APPR_ARMOR_MODEL_LSHIN: + case ITEM_APPR_ARMOR_MODEL_RSHIN: fDistance = 3.5; fPitch = 95.0; break; + case ITEM_APPR_ARMOR_MODEL_LSHOULDER: + case ITEM_APPR_ARMOR_MODEL_RSHOULDER: fDistance = 3.0; fPitch = 50.0; break; + case ITEM_APPR_ARMOR_MODEL_LTHIGH: + case ITEM_APPR_ARMOR_MODEL_RTHIGH: fDistance = 2.5; fPitch = 65.0; break; + case ITEM_APPR_ARMOR_MODEL_NECK: fPitch = 90.0; break; + case ITEM_APPR_ARMOR_MODEL_BELT: + case ITEM_APPR_ARMOR_MODEL_PELVIS: fDistance = 2.0; break; + } + } else if (nPart==ZEP_CR_HELMET) { + fDistance = 2.5; + fPitch = 85.0; + } else if (nPart==ZEP_CR_SHIELD) { + fFacing += 60.0; + fDistance = 3.0; + fPitch = 65.0; + } else { + fFacing -= 60.0; + fDistance = 3.0; + fPitch = 65.0; + } + if (fFacing >= 360.0) fFacing -=360.0; + if (GetRacialType(oPC) == RACIAL_TYPE_HALFORC) fDistance += 1.0f; + SetCameraFacing(fFacing, fDistance, fPitch, CAMERA_TRANSITION_TYPE_VERY_FAST); + + int nCost = GetLocalInt(oPC, "ZEP_CR_COST"); + int nDC = GetLocalInt(oPC, "ZEP_CR_DC"); + SetCustomToken(ZEP_CR_TOKENBASE, sPartName); + SetCustomToken(ZEP_CR_TOKENBASE+1, IntToString(nCost)); + SetCustomToken(ZEP_CR_TOKENBASE+2, IntToString(nDC)); + ZEP_SetColorToken(nPart, GetItemAppearance(oItem, ITEM_APPR_TYPE_ARMOR_COLOR, nPart)); + +} + +// - private - +// Gets the cost to modify oItem into oNew +int ZEP_GetModificationCost(object oItem, object oNew, int nNPC=FALSE) { + int nCost = 0; + int nChanges = -1; + int nPart; + float fFactor; + //Note from Loki: Below segment's logical flow modified + //from original. As SartriX had used differing DC and + //cost values from Bioware, defined in des_crft_aparts.2da, + //this conflicted with the CEP's "play nice with Bioware" + //policy. + //I have left this functionality in, but you must enable + //a flag in the constants section of this file to turn it + //on. Otherwise, default Bioware costs will be used. + //Note that helmets and shields will ALWAYS default to + //using this case, as there is no Bioware code to emulate + //in their case. + if ((ZEP_USE_OPTIONAL_DC_COST == TRUE) || (GetBaseItemType(oItem)==BASE_ITEM_HELMET) || (GetBaseItemType(oItem)== BASE_ITEM_LARGESHIELD) || (GetBaseItemType(oItem)== BASE_ITEM_SMALLSHIELD) || (GetBaseItemType(oItem)== BASE_ITEM_TOWERSHIELD) ) + { + // Find and count changes + if (GetBaseItemType(oItem)==BASE_ITEM_ARMOR) { + for (nPart = 0; nPart<=ITEM_APPR_ARMOR_MODEL_ROBE; nPart++) { + if (GetItemAppearance(oItem, ITEM_APPR_TYPE_ARMOR_MODEL, nPart) != GetItemAppearance(oNew, ITEM_APPR_TYPE_ARMOR_MODEL, nPart)) { + // Part changed, add price factor + nCost += StringToInt(Get2DAString("des_crft_aparts", "CraftCost", nPart)); + nChanges++; + } + } + } else { + for (nPart = 0; nPart<3; nPart++) { + if (GetItemAppearance(oItem, ITEM_APPR_TYPE_WEAPON_MODEL, nPart) != GetItemAppearance(oNew, ITEM_APPR_TYPE_WEAPON_MODEL, nPart)) { + // Part changed, add price factor + nCost += ZEP_CR_PARTCOST; + nChanges++; + } + } + nChanges *= 5; + } + // More as 1 part changed, give a 'discount' + if (nChanges>0) nCost -= nChanges; + // Reworked item may not cost more as 90% of a brand new one + if (nCost>ZEP_CR_MAXCOST) nCost = ZEP_CR_MAXCOST; + if (nNPC) { + // If made by a NPC, charge for the dyes + if (GetBaseItemType(oItem)==BASE_ITEM_ARMOR) { + for (nPart = 0; nPart<=ITEM_APPR_ARMOR_MODEL_ROBE; nPart++) { + if (GetItemAppearance(oItem, ITEM_APPR_TYPE_ARMOR_COLOR, nPart) != GetItemAppearance(oNew, ITEM_APPR_TYPE_ARMOR_COLOR, nPart)) { + // Part changed, add price factor + nCost += ZEP_CR_NPCDYECOST; + } + } + } else { + for (nPart = 0; nPart<3; nPart++) { + if (GetItemAppearance(oItem, ITEM_APPR_TYPE_WEAPON_COLOR, nPart) != GetItemAppearance(oNew, ITEM_APPR_TYPE_WEAPON_COLOR, nPart)) { + // Part changed, add price factor + nCost += ZEP_CR_NPCDYECOST; + } + } + } + fFactor = IntToFloat(nCost) / 100.0; + } else { + // If made by the PC himself, the price is 70% of what an NPC would ask him + fFactor = IntToFloat(nCost * ZEP_CR_SELFCRAFT) / 10000.0; + } + // Calculate and return final cost + nCost = FloatToInt(IntToFloat(GetGoldPieceValue(oItem)) * fFactor); + if (nCost<1) nCost=1; + } + else //Use base Bioware costs for armor and weapons unless told otherwise. + { + int nItemType=GetBaseItemType(oItem); + if (nItemType == BASE_ITEM_ARMOR) + { + nPart=GetLocalInt(GetPCSpeaker(),"ZEP_CR_PART"); + if (nPart==ITEM_APPR_ARMOR_MODEL_ROBE) + nCost=0; + else nCost=CIGetArmorModificationCost(oItem,oNew); + } + else nCost=CIGetWeaponModificationCost(oItem,oNew); + } + return nCost; +} + +// - private - +// Gets the DC to modify oItem into oNew +int ZEP_GetModificationDC(object oItem, object oNew, int nNPC=FALSE) { + if (nNPC) return 0; + int nDC=0; + int nChanges = -1; + int nPart; + float fFactor; + + //Note from Loki: Below segment's logical flow modified + //from original. As SartriX had used differing DC and + //cost values from Bioware, defined in des_crft_aparts.2da, + //this conflicted with the CEP's "play nice with Bioware" + //policy. + //I have left this functionality in, but you must enable + //a flag in the constants section of this file to turn it + //on. Otherwise, default Bioware costs/DC will be used. + //Note that helmets and shields will ALWAYS default to + //using this case, as there is no Bioware code to emulate + //in their case. + + if ((ZEP_USE_OPTIONAL_DC_COST == TRUE) || (GetBaseItemType(oItem)==BASE_ITEM_HELMET) || (GetBaseItemType(oItem)== BASE_ITEM_LARGESHIELD) || (GetBaseItemType(oItem)== BASE_ITEM_SMALLSHIELD) || (GetBaseItemType(oItem)== BASE_ITEM_TOWERSHIELD) ) + { + // Find and count changes + if (GetBaseItemType(oItem)==BASE_ITEM_ARMOR) { + for (nPart = 0; nPart<=ITEM_APPR_ARMOR_MODEL_ROBE; nPart++) { + if (GetItemAppearance(oItem, ITEM_APPR_TYPE_ARMOR_MODEL, nPart) != GetItemAppearance(oNew, ITEM_APPR_TYPE_ARMOR_MODEL, nPart)) { + // Part changed, add DC factor + nDC += StringToInt(Get2DAString("des_crft_aparts", "CraftDC", nPart)); + nChanges++; + } + } + } else { + for (nPart = 0; nPart<3; nPart++) { + if (GetItemAppearance(oItem, ITEM_APPR_TYPE_WEAPON_MODEL, nPart) != GetItemAppearance(oNew, ITEM_APPR_TYPE_WEAPON_MODEL, nPart)) { + // Part changed, add DC factor + nDC += 6; + nChanges++; + } + } + nChanges *= 2; + } + // More as 1 part changed, give a 'discount' + if (nChanges>0) nDC -= nChanges; + itemproperty iP = GetFirstItemProperty(oItem); + while (GetIsItemPropertyValid(iP)) { + nDC += ZEP_CR_DCADD; + iP = GetNextItemProperty(oItem); + } + } + else + { + if (GetBaseItemType(oItem)==BASE_ITEM_ARMOR) + { + nPart=GetLocalInt(GetPCSpeaker(),"ZEP_CR_PART"); + if (nPart==ITEM_APPR_ARMOR_MODEL_ROBE) + nDC=0; + else nDC=CIGetArmorModificationDC(oItem,oNew); + } + else nDC=15; //This value pulled directly from Bioware scripts. + } + return nDC; + +} + +// - private - +// Reverses a : seperated stringlist +string ZEP_ListReverse(string s) +{ + string sCache = ""; + int n; + int l = GetStringLength(s); + s = GetSubString(s, 1, l); + while ( s != "" ) + { + // Take string up to the next seperator and put this in front of cache. + n = FindSubString(s, ":") + 1; + sCache = GetStringLeft(s, n) + sCache; + s = GetSubString(s, n, l); + } + return ":" + sCache; +} + +// - private - +// Prereads the parts_chest.2da-file for sAC and puts all used ID's in a : seperated stringlist +string ZEP_PreReadArmorACList(string sAC) { + // pick the right 2da to read the parts from + string s2DA = "parts_chest"; + string sCache= ":"; + string sLine; + // get the maxID used (not the amount of ID's !!!) + //int nMax = IPGetNumberOfArmorAppearances(ITEM_APPR_ARMOR_MODEL_TORSO); + //Note from Loki: Below line changed to make use of + //backward compatibility function. Was previously the + //preceding line. + int nMax = ZEP_GetNumberOfArmorAppearances(ITEM_APPR_ARMOR_MODEL_TORSO); + int n=1; + sAC = GetStringLeft(sAC, 1); + while (n<=nMax) { + // Verify validity of the ID and add to the list + sLine = Get2DAString(s2DA, "ACBONUS", n); + if (GetStringLeft(sLine, 1)==sAC) { + sCache+= IntToString(n)+":"; + } + n++; + } + // Store the list in a modulestring, once normal, once reversed, both with ID 0 added as first index for cycling + SetLocalString(GetModule(), "ZEP_IDPreReadAC_"+GetStringLeft(sAC,1), sCache); + SetLocalString(GetModule(), "ZEP_IDPreReadACR_"+GetStringLeft(sAC,1), ZEP_ListReverse(sCache)); + + return sCache; +} + +// - private - +// Prereads the 2da-file for nPart and puts all used ID's in a : seperated stringlist +string ZEP_PreReadArmorPartList(int nPart) { + // pick the right 2da to read the parts from + string s2DA = "parts_"; + switch (nPart) { + case ITEM_APPR_ARMOR_MODEL_LBICEP: + case ITEM_APPR_ARMOR_MODEL_RBICEP: s2DA+= "bicep"; break; + case ITEM_APPR_ARMOR_MODEL_LFOOT: + case ITEM_APPR_ARMOR_MODEL_RFOOT: s2DA+= "foot"; break; + case ITEM_APPR_ARMOR_MODEL_LFOREARM: + case ITEM_APPR_ARMOR_MODEL_RFOREARM: s2DA+= "forearm"; break; + case ITEM_APPR_ARMOR_MODEL_LHAND: + case ITEM_APPR_ARMOR_MODEL_RHAND: s2DA+= "hand"; break; + case ITEM_APPR_ARMOR_MODEL_LSHIN: + case ITEM_APPR_ARMOR_MODEL_RSHIN: s2DA+= "shin"; break; + case ITEM_APPR_ARMOR_MODEL_LSHOULDER: + case ITEM_APPR_ARMOR_MODEL_RSHOULDER: s2DA+= "shoulder"; break; + case ITEM_APPR_ARMOR_MODEL_LTHIGH: + case ITEM_APPR_ARMOR_MODEL_RTHIGH: s2DA+= "legs"; break; + case ITEM_APPR_ARMOR_MODEL_NECK: s2DA+= "neck"; break; + case ITEM_APPR_ARMOR_MODEL_BELT: s2DA+= "belt"; break; + case ITEM_APPR_ARMOR_MODEL_PELVIS: s2DA+= "pelvis"; break; + case ITEM_APPR_ARMOR_MODEL_ROBE: s2DA+= "robe"; break; + } + + string sCache= ":"; + string sLine; + // get the maxID used (not the amount of ID's !!!) + //int nMax = StringToInt(Get2DAString("des_crft_aparts", "NumParts", nPart)); + //Note from Loki: Below line changed to make use of + //backward compatibility function. Was previously the + //preceding line. + int nMax = ZEP_GetNumberOfArmorAppearances(nPart); + int n=1; + while (n<=nMax) { + // Verify validity of the ID and add to the list + sLine = Get2DAString(s2DA, "ACBONUS", n); + if (sLine!="") { + sCache+= IntToString(n)+":"; + } + n++; + } + // Store the list in a modulestring, once normal, once reversed, both with ID 0 added as first index for cycling + SetLocalString(GetModule(), "ZEP_IDPreRead_"+IntToString(nPart), ":0"+sCache); + SetLocalString(GetModule(), "ZEP_IDPreReadR_"+IntToString(nPart), ":0"+ZEP_ListReverse(sCache)); + return sCache; +} + +// Remakes and equips the item oPC is working, having the currently set part +// cycled either forward or backward +// nMode: ZEP_CR_PART_NEXT - cycle forward +// nMode: ZEP_CR_PART_PREV - cycle backward +void ZEP_RemakeItem(object oPC, int nMode) +{ + SetLocalInt(oPC, "ZEP_CR_CHANGED", TRUE); + object oItem = GetLocalObject(oPC, "ZEP_CR_ITEM"); + int nPart = GetLocalInt(oPC, "ZEP_CR_PART"); + int nCurrApp, nSlot, nCost, nDC; + string sPreRead; + object oNew; + + if ( GetBaseItemType(oItem) == BASE_ITEM_ARMOR ) + { + // Handle armor change. + nCurrApp = GetItemAppearance(oItem, ITEM_APPR_TYPE_ARMOR_MODEL, nPart); + + if ( nPart == ITEM_APPR_ARMOR_MODEL_TORSO ) + { + string sAC = Get2DAString("parts_chest", "ACBONUS", nCurrApp); + // Fetch the stringlist that holds the ID's for this part + sPreRead = GetLocalString(GetModule(), "ZEP_IDPreReadAC_" + GetStringLeft(sAC, 1)); + if ( sPreRead == "" ) // list didn't exist yet, so generate it + sPreRead = ZEP_PreReadArmorACList(sAC); + if ( nMode == ZEP_CR_PART_PREV ) + sPreRead = GetLocalString(GetModule(), "ZEP_IDPreReadACR_" + GetStringLeft(sAC, 1)); + } + else + { + // Fetch the stringlist that holds the ID's for this part + sPreRead = GetLocalString(GetModule(), "ZEP_IDPreRead_" + IntToString(nPart)); + if ( sPreRead == "" ) // list didn't exist yet, so generate it + sPreRead = ZEP_PreReadArmorPartList(nPart); + if ( nMode == ZEP_CR_PART_PREV ) + sPreRead = GetLocalString(GetModule(), "ZEP_IDPreReadR_" + IntToString(nPart)); + } + + // Find the current ID in the stringlist and pick the one coming after that + string sID; + string sCurrApp = IntToString(nCurrApp); + int n = FindSubString(sPreRead, ":"+sCurrApp+":"); + sID = GetSubString(sPreRead, n+GetStringLength(sCurrApp)+2, 5); + n = FindSubString(sID, ":"); + sID = GetStringLeft(sID, n); + if ( sID=="" && nPart == ITEM_APPR_ARMOR_MODEL_TORSO ) + { + sID = GetSubString(sPreRead, 1, 5); + n = FindSubString(sID, ":"); + sID = GetStringLeft(sID, n); + } + nCurrApp = StringToInt(sID); + + oNew = CopyItemAndModify(oItem, ITEM_APPR_TYPE_ARMOR_MODEL, nPart, nCurrApp, TRUE); + nSlot = INVENTORY_SLOT_CHEST; + + } + else if ( nPart == ZEP_CR_HELMET ) + { + // Handle helmet change. + nCurrApp = GetItemAppearance(oItem, ITEM_APPR_TYPE_ARMOR_MODEL, 0); + int nMin = 1; + int nMax = StringToInt(Get2DAString("baseitems", "MaxRange", BASE_ITEM_HELMET)); + + //Note from Loki: Below code added in Do/while loop to + //allow for scaling of helmets within reason without + //needing to constantly reset the baseitems.2da file + //parameters. + do { + if ( nMode == ZEP_CR_PART_NEXT ) + { + if ( ++nCurrApp > nMax ) + nCurrApp = nMin; + } + else + { + if ( --nCurrApp < nMin ) + nCurrApp = nMax; + } + + oNew = CopyItemAndModify(oItem, ITEM_APPR_TYPE_ARMOR_MODEL, 0, nCurrApp, TRUE); + } + while ( !GetIsObjectValid(oNew) ); + + nSlot = INVENTORY_SLOT_HEAD; + } + else if ( nPart == ZEP_CR_SHIELD ) + { + // Handle shield change. + nCurrApp = GetItemAppearance(oItem, ITEM_APPR_TYPE_SIMPLE_MODEL, 0); + int nBaseType = GetBaseItemType(oItem); + int nMin = StringToInt(Get2DAString("baseitems", "MinRange", nBaseType)); + int nMax = StringToInt(Get2DAString("baseitems", "MaxRange", nBaseType)); + + // Krit replacing Loki's code since 1.69 seems to have broken + // the old way of determining which shield models exist: + string sTest = ""; + int nStartApp = nCurrApp; // Safety precaution against infinite loops. + + // Determine the column in cepshieldmodel.2da to consult. + string sColumn = "BASE_ITEM_"; + switch ( nBaseType ) + { + case BASE_ITEM_SMALLSHIELD: sColumn += "SMALLSHIELD"; break; + case BASE_ITEM_LARGESHIELD: sColumn += "LARGESHIELD"; break; + case BASE_ITEM_TOWERSHIELD: sColumn += "TOWERSHIELD"; break; + } + + // Set the direction of the scan. + // (Separate loops for run-time efficiency.) + if ( nMode == ZEP_CR_PART_NEXT ) + // Find the next available shield model. + do + { + if ( ++nCurrApp > nMax ) + nCurrApp = nMin; + sTest = Get2DAString("cepshieldmodel", sColumn, nCurrApp); + } + while ( sTest == "" && nCurrApp != nStartApp ); + else + // Find the previous available shield model. + do + { + if ( --nCurrApp < nMin ) + nCurrApp = nMax; + sTest = Get2DAString("cepshieldmodel", sColumn, nCurrApp); + } + while ( sTest == "" && nCurrApp != nStartApp ); + + // Create the new item. + oNew = CopyItemAndModify(oItem, ITEM_APPR_TYPE_SIMPLE_MODEL, 0, nCurrApp, TRUE); + nSlot = INVENTORY_SLOT_LEFTHAND; + // End Krit's modification. + + } + else + { + // Handle weapon change. + nCurrApp = GetItemAppearance(oItem, ITEM_APPR_TYPE_WEAPON_MODEL, nPart); + int nBaseType = GetBaseItemType(oItem); + int nMin = StringToInt(Get2DAString("baseitems", "MinRange", nBaseType)) /10; + int nMax = StringToInt(Get2DAString("baseitems", "MaxRange", nBaseType)) /10; + + + //Do/While loop added to accomodate the fact that + //CEP models are not all contiguous with each other. This + //allows the code to rapidly skip over gaps in the weapon + //models to the next valid index. + + do + { + if ( nMode == ZEP_CR_PART_NEXT ) + { + if ( ++nCurrApp > nMax ) + nCurrApp = nMin; + } + else + { + if ( --nCurrApp < nMin ) + nCurrApp = nMax; + } + oNew = CopyItemAndModify(oItem, ITEM_APPR_TYPE_WEAPON_MODEL, nPart, nCurrApp, TRUE); + } + while ( !GetIsObjectValid(oNew) ); + + nSlot = INVENTORY_SLOT_RIGHTHAND; + } + + if ( GetIsObjectValid(oNew) ) + { + // new object is valid + // get cost and DC + int nNPC = GetIsObjectValid(GetLocalObject(oPC, "ZEP_CR_NPC")); + object oBackup = GetLocalObject(oPC, "ZEP_CR_BACKUP"); + nCost = ZEP_GetModificationCost(oBackup, oNew, nNPC); + nDC = ZEP_GetModificationDC(oBackup, oNew, nNPC); + SetLocalInt(oPC, "ZEP_CR_COST", nCost); + SetLocalInt(oPC, "ZEP_CR_DC", nDC); + SetCustomToken(ZEP_CR_TOKENBASE+1, IntToString(nCost)); + SetCustomToken(ZEP_CR_TOKENBASE+2, IntToString(nDC)); + // Restore the part name (for multiplayer). + SetCustomToken(ZEP_CR_TOKENBASE, GetLocalString(oPC, "ZEP_CR_PARTNAME")); + + // replace old current object with new one + DestroyObject(oItem); +// DestroyObject(oBackup); + //oItem = oNew; + SetLocalObject(oPC, "ZEP_CR_ITEM", oNew); + AssignCommand(oPC, ClearAllActions(TRUE)); + AssignCommand(oPC, ActionEquipItem(oNew, nSlot)); + } +} + +//Note from Loki: Below function is currently not used, +//except on weapons, as we have not yet fully converted +//SartriX's implementation of preview-able dye-ing of +//armor and weapons into something compatible with +//Bioware's existing system. This function +//subject to heavy change and gutting in future releases. +//[FUTURE FIX] + +// Remakes and equips the item oPC is working, having the currently set color +// cycled either forward or backward +// nMode: ZEP_CR_COLOR_NEXT - cycle forward +// nMode: ZEP_CR_COLOR_PREV - cycle backward +void ZEP_RecolorItem(object oPC, int nMode) { + SetLocalInt(oPC, "ZEP_CR_CHANGED", TRUE); + object oItem = GetLocalObject(oPC, "ZEP_CR_ITEM"); + int nPart = GetLocalInt(oPC, "ZEP_CR_PART"); + int nCurrApp, nSlot, nCost, nDC; + object oNew; + + + if (GetBaseItemType(oItem)==BASE_ITEM_ARMOR || GetBaseItemType(oItem)==BASE_ITEM_HELMET) { + // Handle Armor change + nCurrApp = GetItemAppearance(oItem, ITEM_APPR_TYPE_ARMOR_COLOR, nPart); + int nMin = 0; + int nMax = 63; //64 colors in NWN Palette-Loki + + if (nMode == ZEP_CR_COLOR_NEXT) { + if (++nCurrApp>nMax) nCurrApp = nMin; + } else { + if (--nCurrAppnMax) nCurrApp = nMin; + } else { + if (--nCurrAppnMax) nCurrApp = nMin; + } + else { + if (--nCurrApp 0 ) + { + oItem = GetItemInSlot(nSlot, oFrom); + // Check the droppable flag. + if ( GetDroppableFlag(oItem) ) + { + // Move the item. + CopyItem(oItem, oTo, TRUE); + DestroyObject(oItem); + } + } +} + + +//------------------------------------------------------------------------------ +// ZEPDemilichSpawnBones() +// +// Creates and initializes the objects used to represent a resting or +// regenerating demilich. +// oDemilich is the demilich about to rest or regenerate. +// bWasKilled is TRUE if oDemilich was killed (and needs to regenerate). +// +void ZEPDemilichSpawnBones(object oDemilich, int bWasKilled) +{ + // Get the location where the objects will appear. + location lDemilich = GetLocation(oDemilich); + // Get the blueprint of this demilich. + // (Has to be stored in a variable for when this is an OnDeath event.) + string sDemilich = GetResRef(oDemilich); + + // Create a skull pile and dust plume. + object oDust = CreateObject(OBJECT_TYPE_PLACEABLE, ZEP_DEMI_DUST_RESREF, lDemilich); + object oBones; + if ( bWasKilled ) + oBones = CreateObject(OBJECT_TYPE_PLACEABLE, ZEP_DEMI_INERT_RESREF, lDemilich); + else + oBones = CreateObject(OBJECT_TYPE_PLACEABLE, ZEP_DEMI_SKULL_RESREF, lDemilich); + // Link the dust to the bones. + SetLocalObject(oBones, ZEP_DEMI_LOCAL_AMBIENT, oDust); + // Record the blueprint for this demilich. + SetLocalString(oBones, ZEP_DEMI_LOCAL_RESREF, sDemilich); + // Record the hit dice of this demilich. + SetLocalInt(oBones, ZEP_DEMI_LOCAL_HITDICE, GetHitDice(oDemilich)); + + // Copy the variables recording soulgem victims. + int nGem = ZEP_DEMI_NUM_SOULGEMS; + while ( nGem-- > 0 ) + SetLocalObject(oBones, ZEP_DEMI_LOCAL_SGCORPSE + IntToString(nGem), + GetLocalObject(oDemilich, ZEP_DEMI_LOCAL_SGCORPSE + IntToString(nGem))); + + // See if the demilich is regenerating or merely resting. + if ( bWasKilled ) + { + // Move the droppable inventory into an invisible placeable. + object oHolder = CreateObject(OBJECT_TYPE_PLACEABLE, "x0_plc_corpse", lDemilich); + MoveDroppableInventory(oHolder, oDemilich); + SetUseableFlag(oHolder, FALSE); + SetLocalObject(oBones, ZEP_DEMI_LOCAL_HOLDER, oHolder); + + // Find a suitable delay. + float fDelay = GetLocalFloat(GetModule(), "ZEP_DEMILICH_Regen_Time"); + if ( fDelay == 0.0 ) + fDelay = ZEP_DEMILICH_REGEN_TIME; + // Delay-restore the demilich. + AssignCommand(oBones, DelayCommand(fDelay, ZEPDemilichRestore(sDemilich, oDust, oHolder))); + } + // A resting legacy Demilich needs no additional work at this point. + else if ( !ZEP_DEMI_USE_LEGACY ) + { + // Create an object to detect intruders. + object oDetector = ZEPDemilichCreateDetector(lDemilich); + + // Initialize the detector. + SetLocalObject(oDetector, ZEP_DEMI_LOCAL_SOURCE, oBones); + SetLocalObject(oDetector, ZEP_DEMI_LOCAL_AMBIENT, oDust); + SetLocalString(oDetector, ZEP_DEMI_LOCAL_RESREF, sDemilich); + // Link the detector to the bone pile. + SetLocalObject(oBones, ZEP_DEMI_LOCAL_SOURCE, oDetector); + } +} + + +//------------------------------------------------------------------------------ +// ZEPDemilichFromBones() +// +// Creates a demilich from its resting or regenerating state. +// oBones is the bone placeable storing demilich data. +// sResRef is the blueprint to use. +// bIntrusion is TRUE if the demilich is responding to an intruder. +// +object ZEPDemilichFromBones(object oBones, string sResRef, int bIntrusion) +{ + // Double-check the blueprint. + if ( sResRef == "" ) + // Use the CEP default. + sResRef = "zep_demi_lich"; + + // Create the demilich. + object oDemilich = CreateObject(OBJECT_TYPE_CREATURE, sResRef, GetLocation(oBones)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_MIND), oBones); + + // Copy the variables recording soulgem victims. + int nGem = ZEP_DEMI_NUM_SOULGEMS; + while ( nGem-- > 0 ) + SetLocalObject(oDemilich, ZEP_DEMI_LOCAL_SGCORPSE + IntToString(nGem), + GetLocalObject(oBones, ZEP_DEMI_LOCAL_SGCORPSE + IntToString(nGem))); + + // Have the demilich say something appropriate. + string sSayThis = ColorTokenShout(); + if ( bIntrusion ) + sSayThis += ZEP_DEMI_DIST_MSG; + else + sSayThis += ZEP_DEMI_REGEN_MSG; + sSayThis += ColorTokenEnd(); + // A creature apparently will not be heard if told to speak immediately upon + // spawning. On my machine, a quarter-second delay worked well, so a full + // second should be safe, yet still not noticeable by a player. + AssignCommand(oDemilich, DelayCommand(1.0, SpeakString(sSayThis))); + // Add a little audial panache. + AssignCommand(oDemilich, DelayCommand(0.5, PlaySound("c_demilich_bat2"))); + + // Return the newly created demilich. + return oDemilich; +} + + +//------------------------------------------------------------------------------ +// ZEPDemilichCreateDetector() +// +// Creates an area of effect that will serve to detect any nearby intruders. +// lTarget is where the effect will be centered. +// +object ZEPDemilichCreateDetector(location lTarget) +{ + // Create an invisible area of effect to detect intruders. + effect eDetector = EffectAreaOfEffect(AOE_PER_CUSTOM_AOE, "zep_demi_aoe_ent"); + ApplyEffectAtLocation(DURATION_TYPE_PERMANENT, eDetector, lTarget); + + // Look for the area of effect object we just created. + object oDetector = GetFirstObjectInShape(SHAPE_CUBE, 0.0, lTarget, FALSE, + OBJECT_TYPE_AREA_OF_EFFECT); + while( GetIsObjectValid(oDetector) ) + { + // Match creator, tag, and not initialized yet. + if( GetAreaOfEffectCreator(oDetector) == OBJECT_SELF && + GetTag(oDetector) == "VFX_CUSTOM" && + GetLocalObject(oDetector, ZEP_DEMI_LOCAL_SOURCE) == OBJECT_INVALID ) + { + // Return this object. + return oDetector; + } + + // Get the next candidate AOE object. + oDetector = GetNextObjectInShape(SHAPE_CUBE, 0.0, lTarget, FALSE, + OBJECT_TYPE_AREA_OF_EFFECT); + } + + // This should never happen, but there still needs to be a default return value. + return OBJECT_INVALID; +} + + +//------------------------------------------------------------------------------ +// ZEPDemilichRestore() +// +// Restores a regenerating demilich. +// To be run by the bone pile placeable. +// sResRef is the blueprint of the demilich. +// oDust is the associated dust placeable. +// oHolder is the associated inventory holder placeable. +// +void ZEPDemilichRestore(string sResRef, object oDust, object oHolder) +{ + // See if the demilich is in the process of being destroyed. + if ( GetLocalInt(OBJECT_SELF, "DESTROYED") ) + // Abort. + return; + + // Spawn the demilich. + ZEPDemilichFromBones(OBJECT_SELF, sResRef, FALSE); + + // Destroy oHolder's inventory. + object oItem = GetFirstItemInInventory(oHolder); + while ( oItem != OBJECT_INVALID ) + { + DestroyObject(oItem); + oItem = GetNextItemInInventory(oHolder); + } + + // Destroy the placeables. + DestroyObject(oHolder); + DestroyObject(oDust); + DestroyObject(OBJECT_SELF); +} + + +//------------------------------------------------------------------------------ +// ZEPDemilichChooseSoulGem() +// +// Sees if we want to trap oPC in a soul gem. +// If so, returns the gem number to trap oPC within. +// If not, returns -1. +// To be run by the demilich. +// +int ZEPDemilichChooseSoulGem(object oPC) +{ + // Do not trap myself. + if ( oPC == OBJECT_SELF ) + return -1; + + // Make sure oPC is the right type of creature. + if ( !GetIsPC(oPC) && !GetLocalInt(oPC, "ZEP_DEMILICH_AllowSoulGem") ) + // Do not trap. + return -1; + + // Get the threshold for our attention from the demilich. + int nThreshold = GetLocalInt(OBJECT_SELF, "ZEP_DEMI_Power_Threshold"); + if ( nThreshold == 0 ) + // Use the module default. + nThreshold = ZEP_DEMI_POWER_THRESHOLD; + // See if oPC is not worthy of attention. + if ( GetCasterLevel(oPC) < nThreshold ) + // Do not trap. + return -1; + + // Find the weakest entrapped soul. + int nWeakestGem = -1; + int nWeakestLevel = 99; + int nGem = ZEP_DEMI_NUM_SOULGEMS; + while ( nGem-- > 0 ) + { + // Get the level of the prisoner of this soul gem. + int nLevel = GetHitDice(GetLocalObject(OBJECT_SELF, ZEP_DEMI_LOCAL_SGCORPSE + IntToString(nGem))); + // Check for an empty gem. + if ( nLevel == 0 ) + // Use this gem. + return nGem; + // Check for a new lowest level. + else if ( nLevel < nWeakestLevel ) + { + // Remember this gem. + nWeakestLevel = nLevel; + nWeakestGem = nGem; + } + } + + // See if we found a prisoner we would give up for oPC. + if ( nWeakestLevel < GetHitDice(oPC) ) + // Use the weakest gem. + return nWeakestGem; + + // At this point, it's not worth the effort. Do not trap. + return -1; +} + + +//------------------------------------------------------------------------------ +// ZEPDemilichTrapSoul() +// +// Traps the soul of oPC, which kills oPC and prevents resurreaction. +// To be run by the demilich. +// nGem is the number of the gem in which to trap the soul. +// +void ZEPDemilichTrapSoul(object oPC, int nGem) +{ + float fDelay = 1.5; + + // If there is an existing prisoner, free it. + ZEPDemilichFreeSoul(nGem); + + // Stop the PC for this effect. (Makes the visual effects look better.) + AssignCommand(oPC, ClearAllActions()); + DelayCommand(0.1, SetCommandable(FALSE, oPC)); + DelayCommand(fDelay, SetCommandable(TRUE, oPC)); + + // Clone oPC in place. + ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectCutsceneGhost(), oPC); + object oClone = CopyObject(oPC, GetLocation(oPC), OBJECT_INVALID, "ZEP_DEMILICH_VICTIM"); + // The clone will become a selectable, but not raisable, corpse. + AssignCommand(oClone, SetIsDestroyable(FALSE, FALSE, TRUE)); + // Record the soon-to-be corpse. + SetLocalObject(OBJECT_SELF, ZEP_DEMI_LOCAL_SGCORPSE + IntToString(nGem), oClone); + SetLocalObject(oClone, ZEP_DEMI_LOCAL_SGCORPSE, oPC); + + // Apply a visual effect. + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, + EffectBeam(VFX_BEAM_HOLY, OBJECT_SELF, BODY_NODE_HAND), + oClone, fDelay); + + // Give some feedback. + DelayCommand(fDelay, FloatingTextStringOnCreature( + GetName(OBJECT_SELF) + ZEP_DEMI_TRAPSOUL_FLOATINGTEXT + + GetName(oPC) + "!", oPC)); + + // Kill PC and clone. + effect oDeath = SupernaturalEffect(EffectDeath()); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, oDeath, oClone)); + DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, oDeath, oPC)); + + // Turn processing over to the clone. + // This will either hide oPC so it cannot be targetted by Raise Dead, or + // destroy the clone so there does not appear to be a copy involved. + AssignCommand(oClone, DelayCommand(fDelay + 0.1, ZEPDemilichCorpseInit(oPC))); +} + + +//------------------------------------------------------------------------------ +// ZEPDemilichFreeSoul() +// +// Frees the soul trapped in a soulgem, allowing the character ro be raised. +// Does nothing if the indicated soulgem does not contain a soul. +// To be run by the demilich or the bone pile placeable. +// nGem is the number of the soulgem. +// +void ZEPDemilichFreeSoul(int nGem) +{ + // Retrieve and delete the relevant local variable. + object oCorpse = GetLocalObject(OBJECT_SELF, ZEP_DEMI_LOCAL_SGCORPSE + IntToString(nGem)); + DeleteLocalObject(OBJECT_SELF, ZEP_DEMI_LOCAL_SGCORPSE + IntToString(nGem)); + + // See if there is a soul currently trapped in the soulgem. + if ( !GetIsObjectValid(oCorpse) ) + // No soul to free, nothing to do. + return; + + // Get the PC whose soul is being released. + object oPC = GetLocalObject(oCorpse, ZEP_DEMI_LOCAL_SGCORPSE); + + // Generate visual effects. + float fVFXDuration = 0.4 + 0.07 * GetDistanceToObject(oCorpse); + // Use an auxiliary placeable so that the visuals can overlap, and because + // faked spells don't fire reliably. + object oVFXMaker = CreateObject(OBJECT_TYPE_PLACEABLE, "x0_plc_bomb", GetLocation(OBJECT_SELF)); + AssignCommand(oVFXMaker, ActionCastSpellAtObject(SPELL_PHANTASMAL_KILLER, oCorpse)); + AssignCommand(oVFXMaker, ActionDoCommand(DestroyObject(oVFXMaker))); + // Visual on the corpse. + AssignCommand(oCorpse, DelayCommand(fVFXDuration, + ApplyEffectToObject(DURATION_TYPE_INSTANT, + EffectVisualEffect(VFX_IMP_RESTORATION_GREATER), + oCorpse))); + // Make the corpse disappear (in case the victim logged out). + AssignCommand(oCorpse, DelayCommand(fVFXDuration + 1.0, + ApplyEffectToObject(DURATION_TYPE_PERMANENT, + EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY), + oCorpse))); + + // Get the pseudo-heartbeat delay. + float fDelay = GetLocalFloat(GetModule(), "ZEP_DEMILICH_Pseudo_Delay"); + if ( fDelay == 0.0 ) + // Use the default. + fDelay = ZEP_DEMILICH_PSEUDO_DELAY; + // Restore the PC. + // Delayed to give the visual effect time to execute. + AssignCommand(oCorpse, DelayCommand(fVFXDuration + 0.1, ZEPDemilichRaiseVictim(oPC, fDelay))); +} + + +//------------------------------------------------------------------------------ +// void ZEPDemilichRaiseVictim() +// +// Restores oPC's raisable status. +// Also raises oPC if ZEP_DEMI_RESS_VICTIMS is set. +// To be run by the cloned corpse. +// fDelay is the delay that will be used when recursing pseudo-heartbeat style. +// +void ZEPDemilichRaiseVictim(object oPC, float fDelay) +{ + // See if target is invalid. + if ( !GetIsObjectValid(oPC) ) + { + // Player must have logged out. + // Search again next round. + DelayCommand(fDelay, ZEPDemilichRaiseVictim(oPC, fDelay)); + return; + } + + // Make oPC visible again. + // Loop through active effects. + effect eInvis = GetFirstEffect(oPC); + while ( GetIsEffectValid(eInvis) ) + { + // Check for the cutscene invisibility. + if ( GetEffectCreator(eInvis) == OBJECT_SELF ) + // Remove this effect. + RemoveEffect(oPC, eInvis); + // Update the loop. + eInvis = GetNextEffect(oPC); + } + + // Send a message to oPC to explain the situation. + SendMessageToPC(oPC, GetStringByStrRef(nZEPReturnToLife)); // "You feel disoriented momentarily as your soul returns to its mortal shell." + + // Check the ZEP_DEMI_RESS_VICTIMS flag. + int nResVictims = GetLocalInt(GetModule(), ZEP_DEMI_RESS_VICTIMS); + if ( nResVictims > 0 ) + { + // Raise the vicitm. + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectResurrection(), oPC); + // Check for full resurrection. + if ( nResVictims > 1 ) + // Heal the victim to full hit points. + ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectHeal(GetMaxHitPoints(oPC)), oPC); + } + // This corpse is no longer needed. + SetIsDestroyable(TRUE, FALSE, FALSE); + DestroyObject(OBJECT_SELF); +} + + +//------------------------------------------------------------------------------ +// ZEPDemilichCorpseInit() +// +// Cleans up the result of oPC's soul being stolen. +// Any cutscene-ghost effects are removed. +// If the death effect worked, oPC will be made invisible and untargettable, and +// a pseudo-heartbeat will be started to track if oPC respawned. +// If the death effect failed, the caller is destroyed. +// To be called by the cloned corpse. +// +void ZEPDemilichCorpseInit(object oPC) +{ + // Make the corpse cutscene-ghosted. (Not sure if this helps, but it might.) + ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectCutsceneGhost(), OBJECT_SELF); + + // Loop through active effects on oPC. + effect eGhost = GetFirstEffect(oPC); + while ( GetIsEffectValid(eGhost) ) + { + // Look for cutscene-ghost effects. + if ( GetEffectType(eGhost) == EFFECT_TYPE_CUTSCENEGHOST ) + // Remove cutscene-ghost. + RemoveEffect(oPC, eGhost); + eGhost = GetNextEffect(oPC); + } + + if ( GetIsDead(oPC) ) + { + // Hide oPC with cutscene invisibility. + // Effect is extraordinary so that it cannot be dispelled, but can be gotten + // rid of by the PC (by resting) if something goes wrong with the removal scripts. + ApplyEffectToObject(DURATION_TYPE_PERMANENT, + ExtraordinaryEffect(EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY)), + oPC); + + // Prevent party members from targetting the character's portrait. + if ( GetIsPC(oPC) ) + { + // First, find a party member who is not oPC, if any. + object oParty = GetFirstFactionMember(oPC); + if ( oParty == oPC ) + oParty = GetNextFactionMember(oPC); + // Keep a record of oPC's party in case the module wants it later. + SetLocalObject(OBJECT_SELF, ZEP_DEMI_LOCAL_PARTY, oParty); + // Now remove oPC from the party so others can't target the portrait. + RemoveFromParty(oPC); + } + else + { + // See if oPC has a master. + object oMaster = GetMaster(oPC); + if ( oMaster != OBJECT_INVALID ) + { + // Keep a record of oPC's master in case the module wants it later. + SetLocalObject(OBJECT_SELF, ZEP_DEMI_LOCAL_PARTY, oMaster); + // Now remove oPC from the party so others can't target the portrait. + // NOTE: This function is called a split second after the death + // effect is applied, so any module-specific code will have a chance + // to run before this line fires the henchman. + RemoveHenchman(GetMaster(oPC), oPC); + } + } + } + + // This clone corpse should not drop any items. + // Clear out inventory. + object oItem = GetFirstItemInInventory(); + while ( oItem != OBJECT_INVALID ) + { + DestroyObject(oItem); + oItem = GetNextItemInInventory(); + } + // Flag equipped items as undroppable. + int nSlot = NUM_INVENTORY_SLOTS; + while ( nSlot-- > 0 ) + SetDroppableFlag(GetItemInSlot(nSlot), FALSE); + // Remove gold. + TakeGoldFromCreature(GetGold(), OBJECT_SELF, TRUE); + + // Get the pseudo-heartbeat delay. + float fDelay = GetLocalFloat(GetModule(), "ZEP_DEMILICH_Pseudo_Delay"); + if ( fDelay == 0.0 ) + // Use the default. + fDelay = ZEP_DEMILICH_PSEUDO_DELAY; + // Start a pseudo-heartbeat that will destroy the caller when oPC is alive. + ZEPDemilichCorpseCheck(oPC, fDelay); +} + + +//------------------------------------------------------------------------------ +// ZEPDemilichCorpseCheck() +// +// Pseudo-heartbeat function that will clean-up if a soul gem victim respawns. +// To be run by the cloned corpse. +// oPC is the real victim. +// fDelay is the delay that will be used when recursing pseudo-heartbeat style. +// +void ZEPDemilichCorpseCheck(object oPC, float fDelay) +{ + // See if oPC is still dead (or logged off). + if ( GetIsDead(oPC) || !GetIsObjectValid(oPC) ) + // Recurse the pseudo-heartbeat. + DelayCommand(fDelay, ZEPDemilichCorpseCheck(oPC, fDelay)); + else + { + // oPC is alive! Hooray! + // Since oPC was made cutscene-invisible, this can only happen via + // respawning, DM intervention, or release from the demilich. + + // Make oPC visible again. + // Loop through active effects. + effect eInvis = GetFirstEffect(oPC); + while ( GetIsEffectValid(eInvis) ) + { + // Check for the cutscene invisibility. + if ( GetEffectCreator(eInvis) == OBJECT_SELF ) + // Remove this effect. + RemoveEffect(oPC, eInvis); + // Update the loop. + eInvis = GetNextEffect(oPC); + } + + // This corpse is no longer needed. + SetIsDestroyable(TRUE, FALSE, FALSE); + DestroyObject(OBJECT_SELF); + } +} + + +//------------------------------------------------------------------------------ +// ZEPDemilichGetVictim() +// +// Retrieves soul gem victim number nGem. +// +// Valid values for nGem are 0 through ZEP_DEMI_NUM_SOULGEMS - 1. +// Returns OBJECT_INVALID on error. +// +// To be called by a demilich or the bone pile placeable (as would be the case +// if called from an OnDeath or Destruction script). +// +object ZEPDemilichGetVictim(int nGem) +{ + return GetLocalObject( + GetLocalObject(OBJECT_SELF, ZEP_DEMI_LOCAL_SGCORPSE + IntToString(nGem)), + ZEP_DEMI_LOCAL_PARTY); +} + + +//------------------------------------------------------------------------------ +// ZEPDemilichGetVictimParty() +// +// Retrieves a party member of soul gem victim number nGem. +// For PC victims, this is a member of the PC's party when the PC was trapped. +// For NPC victims, this is the NPC's master. +// +// Valid values for nGem are 0 through ZEP_DEMI_NUM_SOULGEMS - 1. +// Returns OBJECT_INVALID on error. +// +// To be called by a demilich or the bone pile placeable (as would be the case +// if called from an OnDeath or Destruction script). +// +object ZEPDemilichGetVictimParty(int nGem) +{ + return GetLocalObject( + GetLocalObject(OBJECT_SELF, ZEP_DEMI_LOCAL_SGCORPSE + IntToString(nGem)), + ZEP_DEMI_LOCAL_SGCORPSE); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_inc_main.nss b/cep_blueprints/_hak/prc_add_sb/zep_inc_main.nss new file mode 100644 index 0000000..5255a00 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_inc_main.nss @@ -0,0 +1,133 @@ +#include "zep_inc_scrptdlg" + +const int ITEM_PROPERTY_USE_LIMITATION_GENDER = 150; + +//Baseitem: New Weapon Types +const int BASE_ITEM_TRIDENT_1H = 300; +const int BASE_ITEM_HEAVYPICK = 301; +const int BASE_ITEM_LIGHTPICK = 302; +const int BASE_ITEM_SAI = 303; +const int BASE_ITEM_NUNCHAKU = 304; +const int BASE_ITEM_FALCHION1 = 305; +const int BASE_ITEM_SAP = 308; +const int BASE_ITEM_DAGGERASSASSIN = 309; +const int BASE_ITEM_KATAR = 310; +const int BASE_ITEM_LIGHTMACE2 = 312; +const int BASE_ITEM_KUKRI2 = 313; +const int BASE_ITEM_FALCHION2 = 316; +const int BASE_ITEM_HEAVYMACE = 317; +const int BASE_ITEM_MAUL = 318; +const int BASE_ITEM_MERCURIALLONGSWORD = 319; +const int BASE_ITEM_MERCURIALGREATSWORD = 320; +const int BASE_ITEM_DOUBLESCIMITAR = 321; +const int BASE_ITEM_GOAD = 322; +const int BASE_ITEM_WINDFIREWHEEL = 323; + + +int ColorInit(string sLightConst); + +int ColorInit(string sLightConst) +{ + int nLight = VFX_DUR_LIGHT;//if sLight remains uninitialized, + //this causes no light effect to be placed rather than the humming, + //blue/white flashing effect that occurs when the VFX constant is set to 0 + string sLeft = GetStringLeft(sLightConst, 2); + string sRight = GetStringRight(sLightConst, 2); + //this converts the name of the light constant in the string CEP_L_LIGHTCONST + //to an integer which can be used by the engine. + if(sLeft == "BL"){ + if(sRight == "_5") nLight = VFX_DUR_LIGHT_BLUE_5; + if(sRight == "10") nLight = VFX_DUR_LIGHT_BLUE_10; + if(sRight == "15") nLight = VFX_DUR_LIGHT_BLUE_15; + if(sRight == "20") nLight = VFX_DUR_LIGHT_BLUE_20; + } + if(sLeft == "GR"){//note: grey lighting is actually green, go figure + if(sRight == "_5") nLight = VFX_DUR_LIGHT_GREY_5; + if(sRight == "10") nLight = VFX_DUR_LIGHT_GREY_10; + if(sRight == "15") nLight = VFX_DUR_LIGHT_GREY_15; + if(sRight == "20") nLight = VFX_DUR_LIGHT_GREY_20; + } + if(sLeft == "OR"){ + if(sRight == "_5") nLight = VFX_DUR_LIGHT_ORANGE_5; + if(sRight == "10") nLight = VFX_DUR_LIGHT_ORANGE_10; + if(sRight == "15") nLight = VFX_DUR_LIGHT_ORANGE_15; + if(sRight == "20") nLight = VFX_DUR_LIGHT_ORANGE_20; + } + if(sLeft == "PU"){ + if(sRight == "_5") nLight = VFX_DUR_LIGHT_PURPLE_5; + if(sRight == "10") nLight = VFX_DUR_LIGHT_PURPLE_10; + if(sRight == "15") nLight = VFX_DUR_LIGHT_PURPLE_15; + if(sRight == "20") nLight = VFX_DUR_LIGHT_PURPLE_20; + } + if(sLeft == "RE"){ + if(sRight == "_5") nLight = VFX_DUR_LIGHT_RED_5; + if(sRight == "10") nLight = VFX_DUR_LIGHT_RED_10; + if(sRight == "15") nLight = VFX_DUR_LIGHT_RED_15; + if(sRight == "20") nLight = VFX_DUR_LIGHT_RED_20; + } + if(sLeft == "WH"){ + if(sRight == "_5") nLight = VFX_DUR_LIGHT_WHITE_5; + if(sRight == "10") nLight = VFX_DUR_LIGHT_WHITE_10; + if(sRight == "15") nLight = VFX_DUR_LIGHT_WHITE_15; + if(sRight == "20") nLight = VFX_DUR_LIGHT_WHITE_20; + } + if(sLeft == "YE"){ + if(sRight == "_5") nLight = VFX_DUR_LIGHT_YELLOW_5; + if(sRight == "10") nLight = VFX_DUR_LIGHT_YELLOW_10; + if(sRight == "15") nLight = VFX_DUR_LIGHT_YELLOW_15; + if(sRight == "20") nLight = VFX_DUR_LIGHT_YELLOW_20; + } + return nLight; +} + +//Function will check if oPC is the correct gender +//to equip oItem. If not, it will force the player +//to unequip the item and inform them of the reason. +void ZEPGenderRestrict(object oItem, object oPC); + +void ZEPGenderRestrict(object oItem, object oPC) +{ +// --------------------------------------------------- + // CEP Gender restriction property script + // Searches the item just equipped for a gender + // restriction property. If it finds it, it will + // check the PC's gender against the appropriate value + // and de-equip the item if they are found not to + // match. + // --------------------------------------------------- + //First we check if this has the item property: Use Limitation: Gender. + //If so, we enter the if statment and check PC gender + //vs. the item's limitation. Else we continue out of the + //function. + if (GetItemHasItemProperty(oItem,ITEM_PROPERTY_USE_LIMITATION_GENDER)) + { + itemproperty ipGenderProperty=GetFirstItemProperty(oItem); + //We're not sure if the above property is the one + //we want, so we'll check it vs. the Gender property, + //and, if it's not it, loop through until we find it. + while ((GetIsItemPropertyValid(ipGenderProperty))&&(GetItemPropertyType(ipGenderProperty)!=ITEM_PROPERTY_USE_LIMITATION_GENDER)) + { + ipGenderProperty=GetNextItemProperty(oItem); + } + //If, after all that, the property is invalid for + //some reason, we return. Else we now have a property + //with the data of the Gender restriction of teh PC's + //item. + if (!GetIsItemPropertyValid(ipGenderProperty)) return; + //Next line is kind of long and wonky looking, but bear + //with me as I'm doing this to cut out variables. + //We're comparing the item property parameter value (gender + //type) vs. the PCs. Theoretically they use the same + //scale... + //If they are not the same, we de-euip the item + if (GetItemPropertySubType(ipGenderProperty)!=GetGender(oPC)) + { + //Not equal, so take it off! + AssignCommand(oPC,ActionUnequipItem(oItem)); + //Tell PC why. + string sMessageToPC= GetStringByStrRef(nZEPGenderRestTXT,GENDER_MALE); + SendMessageToPC(oPC,sMessageToPC); + } + } +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_inc_monster.nss b/cep_blueprints/_hak/prc_add_sb/zep_inc_monster.nss new file mode 100644 index 0000000..85559c3 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_inc_monster.nss @@ -0,0 +1,462 @@ +//File name: zep_inc_monster +//Description/Purpose: This file is an include file laying out +// various constants and the like that may be toggled +// to tweak CEP monster behavior. +// Various monster AI and other scripts in the CEP will +// reference constants contained herein. Highly complex +// monsters may have their own, separate include files +// as well. +// This file also contains the constants for appearances. +//Author: Loki Hakanin + +//Following line is Demilich includes (1.02 version) +#include "zep_inc_demi" + + +//*************************************************** +//************ Begin Appearances Constants********* +//*************************************************** + +const int APPEARANCE_TYPE_ZEP_WEMIC = 1000 ; +const int APPEARANCE_TYPE_ZEP_TWIG_BLIGHT = 1001 ; +const int APPEARANCE_TYPE_ZEP_BROWNIE = 1002 ; +const int APPEARANCE_TYPE_ZEP_SATYR = 1003 ; +const int APPEARANCE_TYPE_ZEP_SATYR_LARGE = 1004 ; +const int APPEARANCE_TYPE_ZEP_CATTLE_CALF_DARK = 1005 ; +const int APPEARANCE_TYPE_ZEP_CATTLE_CALF_BROWN = 1006 ; +const int APPEARANCE_TYPE_ZEP_BUFFALO_CALF = 1007 ; +const int APPEARANCE_TYPE_ZEP_CATTLE_LONGHORN = 1008 ; +const int APPEARANCE_TYPE_ZEP_BUFFALO_A = 1009 ; +const int APPEARANCE_TYPE_ZEP_BUFFALO_B = 1010 ; +const int APPEARANCE_TYPE_ZEP_BUFFALO_C = 1011 ; +const int APPEARANCE_TYPE_ZEP_CATTLE_ROTHE = 1012 ; +const int APPEARANCE_TYPE_ZEP_CATTLE_BLACK_ANGUS = 1013 ; +const int APPEARANCE_TYPE_ZEP_CATTLE_BROWN_ANGUS = 1014 ; +const int APPEARANCE_TYPE_ZEP_BISON = 1015 ; +const int APPEARANCE_TYPE_ZEP_BISON_ANTIQUUS = 1016 ; +const int APPEARANCE_TYPE_ZEP_CATTLE_BRAHMAN = 1017 ; +const int APPEARANCE_TYPE_ZEP_CATTLE_FIGHTING = 1018 ; +const int APPEARANCE_TYPE_ZEP_CATTLE_HIGHLAND = 1019 ; +const int APPEARANCE_TYPE_ZEP_CATTLE_HOLSTEIN = 1020 ; +const int APPEARANCE_TYPE_ZEP_PACK_BADGER = 1021 ; +const int APPEARANCE_TYPE_ZEP_PACK_OX = 1022 ; +const int APPEARANCE_TYPE_ZEP_OX_PLOW = 1023 ; +const int APPEARANCE_TYPE_ZEP_OX_PACK = 1024 ; +const int APPEARANCE_TYPE_ZEP_SWINE_PIG = 1025 ; +const int APPEARANCE_TYPE_ZEP_SWINE_HOG = 1026 ; +const int APPEARANCE_TYPE_ZEP_SWINE_PECCARY = 1027 ; +const int APPEARANCE_TYPE_ZEP_SWINE_BABIRUSA = 1028 ; +const int APPEARANCE_TYPE_ZEP_SWINE_POTBELLY = 1029 ; +const int APPEARANCE_TYPE_ZEP_ARMOR_STAND = 1030 ; +const int APPEARANCE_TYPE_ZEP_DRACOLICH_B = 1031 ; +const int APPEARANCE_TYPE_ZEP_RUST_MONSTER = 1044 ; +const int APPEARANCE_TYPE_ZEP_OWLBEAR = 1045 ; +const int APPEARANCE_TYPE_ZEP_BEHOLDER_B = 1046 ; +const int APPEARANCE_TYPE_ZEP_SCARECROW = 1047 ; +const int APPEARANCE_TYPE_ZEP_GHOUL_ICE = 1048 ; +const int APPEARANCE_TYPE_ZEP_SKELETON_SMALL = 1049 ; +const int APPEARANCE_TYPE_ZEP_STIRGE_CAVE = 1050 ; +const int APPEARANCE_TYPE_ZEP_ILLITHID = 1052 ; +const int APPEARANCE_TYPE_ZEP_SHRIEKER = 1053 ; +const int APPEARANCE_TYPE_ZEP_XORN = 1054 ; +const int APPEARANCE_TYPE_ZEP_MYCONID = 1055 ; +const int APPEARANCE_TYPE_ZEP_MYCONID_SPROUT = 1056 ; +const int APPEARANCE_TYPE_ZEP_MYCONID_ELDER = 1057 ; +const int APPEARANCE_TYPE_ZEP_TROLL_B = 1058 ; +const int APPEARANCE_TYPE_ZEP_VEGEPYGMY = 1060 ; +const int APPEARANCE_TYPE_ZEP_THORNY = 1061 ; +const int APPEARANCE_TYPE_ZEP_VEGEPYGMY_THORNY_RIDER_T = 1062 ; +const int APPEARANCE_TYPE_ZEP_VEGEPYGMY_THORNY_RIDER = 1063 ; +const int APPEARANCE_TYPE_ZEP_VEGEPYGMY_THORNY_RIDER_V = 1064 ; +const int APPEARANCE_TYPE_ZEP_CYCLOPS = 1065 ; +const int APPEARANCE_TYPE_ZEP_ELF_BLACKROSE_MALE = 1067 ; +const int APPEARANCE_TYPE_ZEP_ELF_BLACKROSE_FEMALE = 1068 ; +const int APPEARANCE_TYPE_ZEP_FLYING_EYE = 1073 ; +const int APPEARANCE_TYPE_ZEP_MARILITH_DEMONIC = 1074 ; +const int APPEARANCE_TYPE_ZEP_MARILITH_HUMANOID = 1075 ; +const int APPEARANCE_TYPE_ZEP_MARILITH_BLACKGUARD = 1076 ; +const int APPEARANCE_TYPE_ZEP_ERINYES = 1077 ; +const int APPEARANCE_TYPE_ZEP_PLANETOUCHED_FEYRI = 1088 ; +const int APPEARANCE_TYPE_ZEP_SUCCUBUS_2ND_ED = 1089 ; +const int APPEARANCE_TYPE_ZEP_SHADE_HOODED = 1090 ; +const int APPEARANCE_TYPE_ZEP_SHADE = 1091 ; +const int APPEARANCE_TYPE_ZEP_SUCCUBUS__PG_RATED = 1093 ; +const int APPEARANCE_TYPE_ZEP_CORNUGON_B = 1094 ; +const int APPEARANCE_TYPE_ZEP_WRAITH_HOODED_1 = 1095 ; +const int APPEARANCE_TYPE_ZEP_WRAITH_HOODED_2 = 1096 ; +const int APPEARANCE_TYPE_ZEP_DEVIL_B = 1097 ; +const int APPEARANCE_TYPE_ZEP_GELUGON = 1098 ; +const int APPEARANCE_TYPE_ZEP_VISAGE = 1099 ; +const int APPEARANCE_TYPE_ZEP_VISAGE_GREATER = 1100 ; +const int APPEARANCE_TYPE_ZEP_DEMON_VORLAN = 1101 ; +const int APPEARANCE_TYPE_ZEP_HAMATULA = 1102 ; +const int APPEARANCE_TYPE_ZEP_BARGHEST = 1103 ; +const int APPEARANCE_TYPE_ZEP_BELKER = 1104 ; +const int APPEARANCE_TYPE_ZEP_SALAMANDER_AVERAGE = 1106 ; +const int APPEARANCE_TYPE_ZEP_SALAMANDER_FLAME_BRO = 1107 ; +const int APPEARANCE_TYPE_ZEP_SALAMANDER_NOBLE = 1108 ; +const int APPEARANCE_TYPE_ZEP_AZER_MALE_B = 1109 ; +const int APPEARANCE_TYPE_ZEP_AZER_FEMALE_B = 1110 ; +const int APPEARANCE_TYPE_ZEP_RAKSHASA_WOLF_FEMALE = 1111 ; +const int APPEARANCE_TYPE_ZEP_RAKSHASA_BEAR_FEMALE = 1112 ; +const int APPEARANCE_TYPE_ZEP_LUPINAL_MALE_1 = 1113 ; +const int APPEARANCE_TYPE_ZEP_LUPINAL_MALE_2 = 1114 ; +const int APPEARANCE_TYPE_ZEP_LUPINAL_MALE_3 = 1115 ; +const int APPEARANCE_TYPE_ZEP_LUPINAL_MALE_4 = 1116 ; +const int APPEARANCE_TYPE_ZEP_LUPINAL_FEMALE_1 = 1117 ; +const int APPEARANCE_TYPE_ZEP_LUPINAL_FEMALE_2 = 1118 ; +const int APPEARANCE_TYPE_ZEP_LUPINAL_FEMALE_3 = 1119 ; +const int APPEARANCE_TYPE_ZEP_LUPINAL_FEMALE_4 = 1120 ; +const int APPEARANCE_TYPE_ZEP_MANTICORE_B = 1121 ; +const int APPEARANCE_TYPE_ZEP_SPHINX_ANDRO = 1122 ; +const int APPEARANCE_TYPE_ZEP_SPHINX_HIERACO = 1123 ; +const int APPEARANCE_TYPE_ZEP_SPHINX_GYNO = 1124 ; +const int APPEARANCE_TYPE_ZEP_ORC_FAERUN_CHIEF = 1132 ; +const int APPEARANCE_TYPE_ZEP_ORC_FAERUN = 1133 ; +const int APPEARANCE_TYPE_ZEP_ORC_D = 1134 ; +const int APPEARANCE_TYPE_ZEP_ORC_E = 1135 ; +const int APPEARANCE_TYPE_ZEP_ORC_F = 1136 ; +const int APPEARANCE_TYPE_ZEP_ORC_MERCENARY = 1137 ; +const int APPEARANCE_TYPE_ZEP_ORC_SNOW = 1138 ; +const int APPEARANCE_TYPE_ZEP_ORC_SNOW_CHIEFTAN = 1139 ; +const int APPEARANCE_TYPE_ZEP_ORC_SNOW_SHAMAN = 1140 ; +const int APPEARANCE_TYPE_ZEP_GOBLIN_BONE_WIZARD = 1141 ; +const int APPEARANCE_TYPE_ZEP_GOBLIN_SPIDER_RIDER = 1142 ; +const int APPEARANCE_TYPE_ZEP_ORC_URAK_HAI_A = 1143 ; +const int APPEARANCE_TYPE_ZEP_ORC_URAK_HAI_B = 1144 ; +const int APPEARANCE_TYPE_ZEP_ORC_URAK_CAPTAIN = 1145 ; +const int APPEARANCE_TYPE_ZEP_ORC_URAK_WORG_TRAINER = 1146 ; +const int APPEARANCE_TYPE_ZEP_ORC_URAK_HAI_C = 1147 ; +const int APPEARANCE_TYPE_ZEP_ORC_BLOODGUAR = 1148 ; +const int APPEARANCE_TYPE_ZEP_OGRILLION_TAN_1 = 1149 ; +const int APPEARANCE_TYPE_ZEP_OGRILLION_TAN_2 = 1150 ; +const int APPEARANCE_TYPE_ZEP_OGRILLION_DULL_1 = 1151 ; +const int APPEARANCE_TYPE_ZEP_OGRILLION_DULL_2 = 1152 ; +const int APPEARANCE_TYPE_ZEP_GOBLIN_WORG_RIDER = 1153 ; +const int APPEARANCE_TYPE_ZEP_GOBLIN_WORG_RIDER_W = 1154 ; +const int APPEARANCE_TYPE_ZEP_GOBLIN_WORG_RIDER_G = 1155 ; +const int APPEARANCE_TYPE_ZEP_GOBLIN_FROST_CHIEF = 1156 ; +const int APPEARANCE_TYPE_ZEP_GOBLIN_FROST_SHAMAN = 1157 ; +const int APPEARANCE_TYPE_ZEP_GOBLIN_FROST = 1158 ; +const int APPEARANCE_TYPE_ZEP_GOBLIN_CAVE = 1159 ; +const int APPEARANCE_TYPE_ZEP_GOBLIN_CAVE_ARCHER = 1160 ; +const int APPEARANCE_TYPE_ZEP_GOBLIN_CAVE_BERKSERK = 1161 ; +const int APPEARANCE_TYPE_ZEP_GOBLIN_CAVE_SHAMAN = 1162 ; +const int APPEARANCE_TYPE_ZEP_KOBOLD_ICE_NOBLE = 1163 ; +const int APPEARANCE_TYPE_ZEP_KOBOLD_ICE_WIZARD = 1164 ; +const int APPEARANCE_TYPE_ZEP_KOBOLD_ICE = 1165 ; +const int APPEARANCE_TYPE_ZEP_SPIDER_BLOODBACK = 1168 ; +const int APPEARANCE_TYPE_ZEP_ANT_GIANT = 1169 ; +const int APPEARANCE_TYPE_ZEP_ANT_GIANT_FIRE = 1170 ; +const int APPEARANCE_TYPE_ZEP_BUGS = 1171 ; +const int APPEARANCE_TYPE_ZEP_BUGS_LARGE = 1172 ; +const int APPEARANCE_TYPE_ZEP_SCORPION_HUGE = 1173 ; +const int APPEARANCE_TYPE_ZEP_SCORPION_HUGE_A = 1174 ; +const int APPEARANCE_TYPE_ZEP_SCORPION_HUGE_B = 1175 ; +const int APPEARANCE_TYPE_ZEP_SCORPION_HUGE_C = 1176 ; +const int APPEARANCE_TYPE_ZEP_SCORPION_GIANT = 1177 ; +const int APPEARANCE_TYPE_ZEP_SCORPION_GIANT_A = 1178 ; +const int APPEARANCE_TYPE_ZEP_SCORPION_GIANT_B = 1179 ; +const int APPEARANCE_TYPE_ZEP_SCORPION_GIANT_C = 1180 ; +const int APPEARANCE_TYPE_ZEP_SCORPION_SMALL = 1181 ; +const int APPEARANCE_TYPE_ZEP_SCORPION_SMALL_A = 1182 ; +const int APPEARANCE_TYPE_ZEP_SCORPION_SMALL_B = 1183 ; +const int APPEARANCE_TYPE_ZEP_SCORPION_SMALL_C = 1184 ; +const int APPEARANCE_TYPE_ZEP_BEETLE_SLICER_FINE = 1185 ; +const int APPEARANCE_TYPE_ZEP_BEETLE_SLICER_TINY = 1186 ; +const int APPEARANCE_TYPE_ZEP_BEETLE_SLICER_HUGE = 1187 ; +const int APPEARANCE_TYPE_ZEP_BEETLE_FIRE_FINE = 1188 ; +const int APPEARANCE_TYPE_ZEP_BEETLE_FIRE_TINY = 1189 ; +const int APPEARANCE_TYPE_ZEP_BEETLE_FIRE_HUGE = 1190 ; +const int APPEARANCE_TYPE_ZEP_BEETLE_STAG_FINE = 1191 ; +const int APPEARANCE_TYPE_ZEP_BEETLE_STAG_TINY = 1192 ; +const int APPEARANCE_TYPE_ZEP_BEETLE_STAG_HUGE = 1193 ; +const int APPEARANCE_TYPE_ZEP_BEETLE_STINK_FINE = 1194 ; +const int APPEARANCE_TYPE_ZEP_BEETLE_STINK_TINY = 1195 ; +const int APPEARANCE_TYPE_ZEP_BEETLE_STINK_HUGE = 1196 ; +const int APPEARANCE_TYPE_ZEP_SPIDERFIEND_KAKKUU = 1197 ; +const int APPEARANCE_TYPE_ZEP_SPIDERFIEND_SPITHRIKU = 1198 ; +const int APPEARANCE_TYPE_ZEP_SPIDERFIEND_PHISARAZU = 1199 ; +const int APPEARANCE_TYPE_ZEP_SPIDERFIEND_LYCOSIDILTH = 1200 ; +const int APPEARANCE_TYPE_ZEP_SPIDERFIEND_RAKLUPIS = 1201 ; +const int APPEARANCE_TYPE_ZEP_DRIDER_MALE_A = 1202 ; +const int APPEARANCE_TYPE_ZEP_DRIDER_MALE_B = 1203 ; +const int APPEARANCE_TYPE_ZEP_DRIDER_MALE_C = 1204 ; +const int APPEARANCE_TYPE_ZEP_DRIDER_MALE_D = 1205 ; +const int APPEARANCE_TYPE_ZEP_DRIDER_MALE_E = 1206 ; +const int APPEARANCE_TYPE_ZEP_DRIDER_FEMALE_A = 1207 ; +const int APPEARANCE_TYPE_ZEP_DRIDER_FEMALE_B = 1208 ; +const int APPEARANCE_TYPE_ZEP_DRIDER_FEMALE_C = 1209 ; +const int APPEARANCE_TYPE_ZEP_DRIDER_FEMALE_D = 1210 ; +const int APPEARANCE_TYPE_ZEP_DRIDER_ARMOR_A = 1211 ; +const int APPEARANCE_TYPE_ZEP_DRIDER_ARMOR_B = 1212 ; +const int APPEARANCE_TYPE_ZEP_DRIDER_ARMOR_C = 1213 ; +const int APPEARANCE_TYPE_ZEP_LOLTH = 1214 ; +const int APPEARANCE_TYPE_ZEP_DOPPELGANGER = 1215 ; +const int APPEARANCE_TYPE_ZEP_MECHANON_SPIKER = 1216 ; +const int APPEARANCE_TYPE_ZEP_MECHANON_SPIDER = 1217 ; +const int APPEARANCE_TYPE_ZEP_MECHANON_CUTTER = 1218 ; +const int APPEARANCE_TYPE_ZEP_ILLITHID_SCIENTIST = 1219 ; +const int APPEARANCE_TYPE_ZEP_ILLITHID_BIOLOGIST = 1220 ; +const int APPEARANCE_TYPE_ZEP_ILLITHID_3E = 1221 ; +const int APPEARANCE_TYPE_ZEP_ILLITHID_MURRAY = 1222 ; +const int APPEARANCE_TYPE_ZEP_ILLITHID_KID = 1223 ; +const int APPEARANCE_TYPE_ZEP_ILLITHID_BIOLOGIST_2 = 1224 ; +const int APPEARANCE_TYPE_ZEP_VIPER_HUGE_FOREST = 1225 ; +const int APPEARANCE_TYPE_ZEP_VIPER_MEDIUM_FOREST = 1226 ; +const int APPEARANCE_TYPE_ZEP_VIPER_TINY_FOREST = 1227 ; +const int APPEARANCE_TYPE_ZEP_VIPER_HUGE_DESERT = 1228 ; +const int APPEARANCE_TYPE_ZEP_VIPER_MEDIUM_DESERT = 1229 ; +const int APPEARANCE_TYPE_ZEP_VIPER_TINY_DESERT = 1230 ; +const int APPEARANCE_TYPE_ZEP_VIPER_HUGE_SWAMP = 1231 ; +const int APPEARANCE_TYPE_ZEP_VIPER_MEDIUM_SWAMP = 1232 ; +const int APPEARANCE_TYPE_ZEP_VIPER_TINY_SWAMP = 1233 ; +const int APPEARANCE_TYPE_ZEP_VIPER_HUGE_JUNGLE = 1234 ; +const int APPEARANCE_TYPE_ZEP_VIPER_MEDIUM_JUNGLE = 1235 ; +const int APPEARANCE_TYPE_ZEP_VIPER_TINY_JUNGLE = 1236 ; +const int APPEARANCE_TYPE_ZEP_ANT_GIANT_SOLDIER = 1243 ; +const int APPEARANCE_TYPE_ZEP_ANT_GIANT_GUARD = 1244 ; +const int APPEARANCE_TYPE_ZEP_ANT_GIANT_QUEEN = 1245 ; +const int APPEARANCE_TYPE_ZEP_ANT_GIANT_LARVA = 1246 ; +const int APPEARANCE_TYPE_ZEP_ANT_GIANT_HIVEQUEEN = 1247 ; +const int APPEARANCE_TYPE_ZEP_SPIDER_REDBACK = 1248 ; +const int APPEARANCE_TYPE_ZEP_PACK_BEAR = 1249 ; +const int APPEARANCE_TYPE_ZEP_PACK_BEETLE = 1250 ; +const int APPEARANCE_TYPE_ZEP_PACK_BOAR = 1251 ; +const int APPEARANCE_TYPE_ZEP_PACK_PENGUIN = 1252 ; +const int APPEARANCE_TYPE_ZEP_DEMON_BEBILITH_B = 1253 ; +const int APPEARANCE_TYPE_ZEP_COW_2 = 1255 ; +const int APPEARANCE_TYPE_ZEP_SPIDER_WRAITH_B = 1256 ; +const int APPEARANCE_TYPE_ZEP_MINOGON_B = 1257 ; +const int APPEARANCE_TYPE_ZEP_CAT_COUGAR = 1258 ; +const int APPEARANCE_TYPE_ZEP_VAMPIRIC_MIST_2 = 1259 ; +const int APPEARANCE_TYPE_ZEP_SLAAD_GREEN_B = 1261 ; +const int APPEARANCE_TYPE_ZEP_BARGHEST_GREATER = 1262 ; +const int APPEARANCE_TYPE_ZEP_BEETLE_BOMBARDIER = 1263 ; +const int APPEARANCE_TYPE_ZEP_CHILD_MALE_1 = 1265 ; +const int APPEARANCE_TYPE_ZEP_CHILD_FEMALE_1 = 1266 ; +const int APPEARANCE_TYPE_ZEP_CHILD_MALE_2 = 1267 ; +const int APPEARANCE_TYPE_ZEP_CHILD_FEMALE_2 = 1268 ; +const int APPEARANCE_TYPE_ZEP_CHILD_MALE_3 = 1269 ; +const int APPEARANCE_TYPE_ZEP_CHILD_FEMALE_3 = 1270 ; +const int APPEARANCE_TYPE_ZEP_CHILD_MALE_4 = 1271 ; +const int APPEARANCE_TYPE_ZEP_CHILD_FEMALE_4 = 1272 ; +const int APPEARANCE_TYPE_ZEP_CHILD_MALE_5 = 1273 ; +const int APPEARANCE_TYPE_ZEP_CHILD_FEMALE_5 = 1274 ; +const int APPEARANCE_TYPE_ZEP_EAGLE = 1275 ; +const int APPEARANCE_TYPE_ZEP_SKELETON_DWARF = 1277 ; +const int APPEARANCE_TYPE_ZEP_BUGBEAR_ARCTIC = 1278 ; +const int APPEARANCE_TYPE_ZEP_BUGBEAR_ARCTIC_SHAMAN = 1279 ; +const int APPEARANCE_TYPE_ZEP_BUGBEAR_ARCTIC_CHIEF = 1280 ; +const int APPEARANCE_TYPE_ZEP_BAT_BATTLE = 1281 ; +const int APPEARANCE_TYPE_ZEP_BAT_BONE = 1282 ; +const int APPEARANCE_TYPE_ZEP_ETHER_SCARAB = 1283 ; +const int APPEARANCE_TYPE_ZEP_SPIDER_ICE = 1284 ; +const int APPEARANCE_TYPE_ZEP_SKELETON_RED_EYES = 1285 ; +const int APPEARANCE_TYPE_ZEP_SKELETON_FLAMING = 1286 ; +const int APPEARANCE_TYPE_ZEP_SKELETON_GREEN = 1287 ; +const int APPEARANCE_TYPE_ZEP_SKELETON_PURPLE = 1288 ; +const int APPEARANCE_TYPE_ZEP_SKELETON_YELLOW = 1289 ; +const int APPEARANCE_TYPE_ZEP_WENDIGO = 1290 ; +const int APPEARANCE_TYPE_ZEP_BALROG = 1291 ; +const int APPEARANCE_TYPE_ZEP_BEAR_SUN = 1292 ; +const int APPEARANCE_TYPE_ZEP_BEAR_SPECTACLED = 1293 ; +const int APPEARANCE_TYPE_ZEP_BEAR_SLOTH = 1294 ; +const int APPEARANCE_TYPE_ZEP_BEAR_PANDA = 1295 ; +const int APPEARANCE_TYPE_ZEP_TROLLOC_BOAR = 1296 ; +const int APPEARANCE_TYPE_ZEP_TROLLOC_GOAT = 1297 ; +const int APPEARANCE_TYPE_ZEP_TROLLOC_HAWK = 1298 ; +const int APPEARANCE_TYPE_ZEP_CAT_TIGER = 1299 ; +const int APPEARANCE_TYPE_ZEP_CAT_WHITE_TIGER = 1300 ; +const int APPEARANCE_TYPE_ZEP_CAT_SNOW_LEOPARD = 1302 ; +const int APPEARANCE_TYPE_ZEP_CAT_CLOUDED_LEOPARD = 1303 ; +const int APPEARANCE_TYPE_ZEP_BLADELING = 1304 ; +const int APPEARANCE_TYPE_ZEP_HUMAN_NPC_KING = 1305 ; +const int APPEARANCE_TYPE_ZEP_HUMAN_CLERIC_OF_TYR = 1306 ; +const int APPEARANCE_TYPE_ZEP_DEMILICH_B = 1307 ; +const int APPEARANCE_TYPE_ZEP_MOUSE = 1308 ; +const int APPEARANCE_TYPE_ZEP_SPIDERLING = 1311 ; +const int APPEARANCE_TYPE_ZEP_SPIDERLING_GIANT = 1312 ; +const int APPEARANCE_TYPE_ZEP_SPIDERLING_DIRE = 1313 ; +const int APPEARANCE_TYPE_ZEP_SPIDERLING_SWORD = 1314 ; +const int APPEARANCE_TYPE_ZEP_SPIDERLING_PHASE = 1315 ; +const int APPEARANCE_TYPE_ZEP_SKULK_FEMALE = 1316 ; +const int APPEARANCE_TYPE_ZEP_SKULK_MALE = 1317 ; +const int APPEARANCE_TYPE_ZEP_HALF_DRAGON_FIEND = 1318 ; +const int APPEARANCE_TYPE_ZEP_CYCLOPS_ARMORED = 1319 ; +const int APPEARANCE_TYPE_ZEP_ERINYES_B = 1324 ; +const int APPEARANCE_TYPE_ZEP_VECNA = 1325 ; +const int APPEARANCE_TYPE_ZEP_HYENA_SPOTTED = 1326 ; +const int APPEARANCE_TYPE_ZEP_HYENA_STRIPED = 1327 ; +const int APPEARANCE_TYPE_ZEP_RACCOON = 1328 ; +const int APPEARANCE_TYPE_ZEP_RED_PANDA = 1329 ; +const int APPEARANCE_TYPE_ZEP_RINGTAIL = 1330 ; +const int APPEARANCE_TYPE_ZEP_ANTELOPE_BROWN = 1332 ; +const int APPEARANCE_TYPE_ZEP_ANTELOPE_BLACK = 1333 ; +const int APPEARANCE_TYPE_ZEP_GAZELLE = 1334 ; +const int APPEARANCE_TYPE_ZEP_OTTER = 1335 ; +const int APPEARANCE_TYPE_ZEP_WEASEL = 1336 ; +const int APPEARANCE_TYPE_ZEP_WOLVERINE = 1337 ; +const int APPEARANCE_TYPE_ZEP_SKUNK = 1338 ; +const int APPEARANCE_TYPE_ZEP_MINK = 1339 ; +const int APPEARANCE_TYPE_ZEP_FISHER = 1340 ; +const int APPEARANCE_TYPE_ZEP_FERRET = 1341 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_AIR_L = 1342 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_AIR_M = 1343 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_AIR_S = 1344 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_SMOKE_L = 1345 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_SMOKE_M = 1346 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_SMOKE_S = 1347 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_MAGMA_L = 1348 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_MAGMA_M = 1349 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_MAGMA_S = 1350 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_OOZE_L = 1351 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_OOZE_M = 1352 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_OOZE_S = 1353 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_WATER_L = 1354 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_WATER_M = 1355 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_WATER_S = 1356 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_FIRE_L = 1357 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_FIRE_M = 1358 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_FIRE_S = 1359 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_EARTH_L = 1360 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_EARTH_M = 1361 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_EARTH_S = 1362 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_ICE_L = 1363 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_ICE_M = 1364 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_ICE_S = 1365 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_RADIANCE_L = 1366 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_RADIANCE_M = 1367 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_RADIANCE_S = 1368 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_MINERAL_L = 1369 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_MINERAL_M = 1370 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_MINERAL_S = 1371 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_STEAM_L = 1372 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_STEAM_M = 1373 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_STEAM_S = 1374 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_LIGHTNING_L = 1375 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_LIGHTNING_M = 1376 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_LIGHTNING_S = 1377 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_SALT_L = 1378 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_SALT_M = 1379 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_SALT_S = 1380 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_DUST_L = 1381 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_DUST_M = 1382 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_DUST_S = 1383 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_ASH_L = 1384 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_ASH_M = 1385 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_ASH_S = 1386 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_VACUUM_L = 1387 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_VACUUM_M = 1388 ; +const int APPEARANCE_TYPE_ZEP_ELEMENTAL_VACUUM_S = 1389 ; +const int APPEARANCE_TYPE_ZEP_DOG_COOSHEE_FEMALE = 1390 ; +const int APPEARANCE_TYPE_ZEP_DOG_COOSHEE_MALE = 1391 ; +const int APPEARANCE_TYPE_ZEP_DOG_DALMATIAN = 1392 ; +const int APPEARANCE_TYPE_ZEP_DOG_DOBERMAN = 1393 ; +const int APPEARANCE_TYPE_ZEP_DOG_HUSKY = 1394 ; +const int APPEARANCE_TYPE_ZEP_DOG_MALAMUTE = 1395 ; +const int APPEARANCE_TYPE_ZEP_DOG_MASTIFF = 1396 ; +const int APPEARANCE_TYPE_ZEP_DOG_TERRIER = 1397 ; +const int APPEARANCE_TYPE_ZEP_DOG_YELLOW = 1398 ; +const int APPEARANCE_TYPE_ZEP_PUPPY_DALMATIAN = 1399 ; +const int APPEARANCE_TYPE_ZEP_PUPPY_COOSHEE = 1400 ; +const int APPEARANCE_TYPE_ZEP_PUPPY_DOBERMAN = 1401 ; +const int APPEARANCE_TYPE_ZEP_PUPPY_HUSKY = 1402 ; +const int APPEARANCE_TYPE_ZEP_PUPPY_MASTIFF = 1403 ; +const int APPEARANCE_TYPE_ZEP_PUPPY_TERRIER = 1404 ; +const int APPEARANCE_TYPE_ZEP_PUPPY_YELLOW = 1405 ; +const int APPEARANCE_TYPE_ZEP_CAT_BLACK = 1406 ; +const int APPEARANCE_TYPE_ZEP_CAT_BLACK_AND_WHITE = 1407 ; +const int APPEARANCE_TYPE_ZEP_CAT_BOBTAIL = 1408 ; +const int APPEARANCE_TYPE_ZEP_CAT_WHITE = 1409 ; +const int APPEARANCE_TYPE_ZEP_KITTEN_BLK_N_WHT = 1410 ; +const int APPEARANCE_TYPE_ZEP_KITTEN_WHITE = 1411 ; +const int APPEARANCE_TYPE_ZEP_GLABREZU = 1418 ; +const int APPEARANCE_TYPE_ZEP_ANIMATED_WHEEL = 1421 ; +const int APPEARANCE_TYPE_ZEP_ANIMATED_TABLE = 1422 ; +const int APPEARANCE_TYPE_ZEP_ANIMATED_CHEST = 1424 ; +const int APPEARANCE_TYPE_ZEP_ANIMATED_TOME = 1425 ; +const int APPEARANCE_TYPE_ZEP_ANIMATED_CHEST_FLYING = 1426 ; +const int APPEARANCE_TYPE_ZEP_CRAB_GIANT_BLUE = 1427 ; +const int APPEARANCE_TYPE_ZEP_CRAB_BLUE = 1428 ; +const int APPEARANCE_TYPE_ZEP_CRAB_GIANT = 1429 ; +const int APPEARANCE_TYPE_ZEP_CRAB = 1430 ; +const int APPEARANCE_TYPE_ZEP_STIRGE_A = 1431 ; +const int APPEARANCE_TYPE_ZEP_STIRGE_B = 1432 ; +const int APPEARANCE_TYPE_ZEP_DEMON_BEBILITH_C = 1433 ; +const int APPEARANCE_TYPE_ZEP_CORNUGON_A = 1434 ; +const int APPEARANCE_TYPE_ZEP_FLYING_BOOK_A = 1435 ; +const int APPEARANCE_TYPE_ZEP_FLYING_BOOK_B = 1436 ; +const int APPEARANCE_TYPE_ZEP_FLYING_BOOK_C = 1437 ; +const int APPEARANCE_TYPE_ZEP_ZOMBIE_PIRATE_1 = 1439 ; +const int APPEARANCE_TYPE_ZEP_SKELETON_PIRATE_1 = 1440 ; +const int APPEARANCE_TYPE_ZEP_SKELETON_PIRATE_2 = 1441 ; +const int APPEARANCE_TYPE_ZEP_SKELETON_PIRATE_3 = 1442 ; +const int APPEARANCE_TYPE_ZEP_ZOMBIE_PIRATE_2 = 1443 ; +const int APPEARANCE_TYPE_ZEP_ZOMBIE_PIRATE_3 = 1444 ; +const int APPEARANCE_TYPE_ZEP_SKELETON_PIRATE_4 = 1445 ; +const int APPEARANCE_TYPE_ZEP_SKELETON_PIRATE_5 = 1446 ; +const int APPEARANCE_TYPE_ZEP_SKELETON_PIRATE_6 = 1447 ; +const int APPEARANCE_TYPE_ZEP_ZOMBIE_PIRATE_4 = 1448 ; +const int APPEARANCE_TYPE_ZEP_GHOST_PIRATE = 1449 ; +const int APPEARANCE_TYPE_ZEP_SKELETON_OGRE = 1451 ; +const int APPEARANCE_TYPE_ZEP_JELLY_MUSTARD = 1453 ; +const int APPEARANCE_TYPE_ZEP_JELLY_MUSTARD_MEDIUM = 1454 ; +const int APPEARANCE_TYPE_ZEP_JELLY_MUSTARD_LARGE = 1455 ; +const int APPEARANCE_TYPE_ZEP_JELLY_OCHRE = 1456 ; +const int APPEARANCE_TYPE_ZEP_JELLY_OCHRE_MEDIUM = 1457 ; +const int APPEARANCE_TYPE_ZEP_JELLY_OCHRE_LARGE = 1458 ; +const int APPEARANCE_TYPE_ZEP_OOZE_CRYSTAL = 1459 ; +const int APPEARANCE_TYPE_ZEP_OOZE_CRYSTAL_MEDIUM = 1460 ; +const int APPEARANCE_TYPE_ZEP_OOZE_CRYSTAL_LARGE = 1461 ; +const int APPEARANCE_TYPE_ZEP_OOZE_GRAY = 1462 ; +const int APPEARANCE_TYPE_ZEP_OOZE_GRAY_MEDIUM = 1463 ; +const int APPEARANCE_TYPE_ZEP_OOZE_GRAY_LARGE = 1464 ; +const int APPEARANCE_TYPE_ZEP_PUDDING_BLACK = 1465 ; +const int APPEARANCE_TYPE_ZEP_PUDDING_BLACK_MEDIUM = 1466 ; +const int APPEARANCE_TYPE_ZEP_PUDDING_BLACK_LARGE = 1467 ; +const int APPEARANCE_TYPE_ZEP_PUDDING_BROWN = 1468 ; +const int APPEARANCE_TYPE_ZEP_PUDDING_BROWN_MEDIUM = 1469 ; +const int APPEARANCE_TYPE_ZEP_PUDDING_BROWN_LARGE = 1470 ; +const int APPEARANCE_TYPE_ZEP_PUDDING_DUN = 1471 ; +const int APPEARANCE_TYPE_ZEP_PUDDING_DUN_MEDIUM = 1472 ; +const int APPEARANCE_TYPE_ZEP_PUDDING_DUN_LARGE = 1473 ; +const int APPEARANCE_TYPE_ZEP_PUDDING_WHITE = 1474 ; +const int APPEARANCE_TYPE_ZEP_PUDDING_WHITE_MEDIUM = 1475 ; +const int APPEARANCE_TYPE_ZEP_PUDDING_WHITE_LARGE = 1476 ; +const int APPEARANCE_TYPE_ZEP_SLIME_GREEN = 1477 ; +const int APPEARANCE_TYPE_ZEP_SLIME_GREEN_MEDIUM = 1478 ; +const int APPEARANCE_TYPE_ZEP_SLIME_GREEN_LARGE = 1479 ; +const int APPEARANCE_TYPE_ZEP_SLIME_OLIVE = 1480 ; +const int APPEARANCE_TYPE_ZEP_SLIME_OLIVE_MEDIUM = 1481 ; +const int APPEARANCE_TYPE_ZEP_SLIME_OLIVE_LARGE = 1482 ; +const int APPEARANCE_TYPE_ZEP_SLITHERING_TRACKER = 1483 ; +const int APPEARANCE_TYPE_ZEP_SLITHERING_TRACKER_MEDIUM = 1484 ; +const int APPEARANCE_TYPE_ZEP_SLITHERING_TRACKER_LARGE = 1485 ; +const int APPEARANCE_TYPE_ZEP_GOLEM_RUBY = 1486 ; +const int APPEARANCE_TYPE_ZEP_GOLEM_EMERALD = 1487 ; +const int APPEARANCE_TYPE_ZEP_GOLEM_CITRINE = 1488 ; +const int APPEARANCE_TYPE_ZEP_GOLEM_SAPPHIRE = 1489 ; +const int APPEARANCE_TYPE_ZEP_GOLEM_AMETHYST = 1490 ; +const int APPEARANCE_TYPE_ZEP_GOLEM_OBSIDIAN = 1491 ; +const int APPEARANCE_TYPE_ZEP_TREANT = 1492 ; +const int APPEARANCE_TYPE_ZEP_WEREBAT = 1493 ; +const int APPEARANCE_TYPE_ZEP_WASP_GIANT = 1494 ; +const int APPEARANCE_TYPE_ZEP_ERINYES3 = 1495 ; +const int APPEARANCE_TYPE_ZEP_ASSASSIN_VINE_H = 1496 ; +const int APPEARANCE_TYPE_ZEP_ASSASSIN_VINE_V = 1497 ; +const int APPEARANCE_TYPE_ZEP_MAUG = 1498 ; +const int APPEARANCE_TYPE_ZEP_MAUG_LIEUTENANT = 1499 ; +const int APPEARANCE_TYPE_ZEP_MAUG_COMMANDER = 1500 ; +const int APPEARANCE_TYPE_ZEP_OSYLUTH_A = 1501 ; +const int APPEARANCE_TYPE_ZEP_OSYLUTH_B = 1502 ; +const int APPEARANCE_TYPE_ZEP_OSYLUTH_C = 1503 ; +const int APPEARANCE_TYPE_ZEP_MAUG_CAPTAIN = 1504 ; + +//*************************************************** +//************ Begin Behavioral Constants********** +//*************************************************** + +//"Restless Dead" skeleton (Undead) constants +const int ZEP_RESTLESS_DEAD_RESPAWN_CHANCE = 25; //% chance (as an integer) that a "Restless Dead" will spawn a new skeleton upon its death. +const float ZEP_RESTLESS_DEAD_RESPAWN_TIME = 10.0; //Delay in time between restless dead respawns. diff --git a/cep_blueprints/_hak/prc_add_sb/zep_inc_phenos.nss b/cep_blueprints/_hak/prc_add_sb/zep_inc_phenos.nss new file mode 100644 index 0000000..eeaebde --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_inc_phenos.nss @@ -0,0 +1,884 @@ +/* + zep_inc_phenos - Version 2.0 + created July 3&4 - TJ aka TheExcimer-500 + recreated August 28 - *sighs* instead of fishing... + Updated Nov.6th (Excimer) - Fixed two missing "phenotypes" + + to use type: #include "zep_inc_phenos" at the top of your script + + Functions zep_Mount, zep_DisMount, zep_Fly, zep_Fly_Land +*/ + + #include "zep_inc_constant" + #include "zep_inc_1st_rp" + +/* Variables placed on PC + + Flying: + nCEP_Phenotype_C <= the PC's native Phenotype (Standard or Large) [not used, yet - will be needed for Issig's Slight/Tall] + nCEP_Wings_Remove_C <= 0 leave alone, if 1 remove + + + Mounts: + oCEP_Mount_C <= Mount Object (if any). + nCEP_Mount_Cape <= Cape #. (for now we're going to remove the capes) + + ALL: + nCEP_SPEED_EFFECT_C <= 0 leave alone, -1 remove decrease, +1 remove increase + + +*/ + + + +//Constants (DO NOT CHANGE) +const float fDEFAULT_SPEED = 1000.0; +const int nNO_WING_CHANGE = 0; + +//Constants (CAN BE CHANGED - if you know what you're doing) +const int nMAX_PHENOTYPE_ALLOWED = 2; // 3 & 4 will be Issig's, not in here yet +const int nMIN_PHENOTYPE_STANDARD = 10; +const int nMAX_PHENOTYPE_STANDARD = 20; +const int nMIN_PHENOTYPE_LARGE = 25; +const int nMAX_PHENOTYPE_LARGE = 40; + + +//Constants (CAN BE CHANGED by Users) + +const float fSPEED_AURENTHIL = 2.5; +const float fSPEED_HORSE_BLACK = 2.2; +const float fSPEED_HORSE_BROWN = 2.2; +const float fSPEED_HORSE_NIGHTMARE = 2.4; +const float fSPEED_HORSE_WHITE = 2.2; +const float fSPEED_PONY_BROWN = 1.9; +const float fSPEED_PONY_LTBROWN = 1.9; +const float fSPEED_PONY_SPOT = 1.9; + +/////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// FUNCTION DECLARATIONS +/////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\ + +///////////////////////////// zep_Fly \\\\\\\\\\\\\\\\\\\\\\\\\\\ +//zep_Fly(object oFlyer, int nAttachWingType=nNO_WING_CHANGE, float fWalk_Speed=fDEFAULT_SPEED, string sItem_ResRef="") +//object oFlyer => Must be a PC Race, Dynamic Skeleton (Brownies can fly, not wemics!) +// Kobolds, VampireMale/Female, Succubus, or Erinyes +// This will be the NPC or PC to switch to the FLYING phenotype +// Only valid for NORMAL or LARGE PCs (i.e. not valid for Issig's Slight/Tall yet) +// +//int nAttachWingType => This will attempt to create wings on oFlyer. Wings will not be created +// if oFlyer Already has them! Works with CEP CONSTANTS "nCEP_WG_..." (see zep_2daconstants) +// Some CEP values: CEP_WG_ANGEL_ARMORED CEP_WG_ANGEL_SKIN CEP_WG_BIRD CEP_WG_BIRD_RAVEN CEP_WG_BIRD_SKIN +// CEP_WG_BUTTERFLY CEP_WG_BUTTERFLY_DKFOREST CEP_WG_BUTTERFLY_SKIN CEP_WG_DEMON_SKIN CEP_WG_DRAGON_BLACK +// CEP_WG_DRAGON_RED CEP_WG_DRAGON_GOLD CEP_WG_DRAGON_DRACOLICH CEP_WG_DRAGON_SKIN CEP_WG_FLYING_DEMON_1 CEP_WG_FLYING_DEMON_2 +// +//fWALK_SPEED => This changes the walk/run speed of the oFlyer. It is in 10 meters/round +// For example a Human walks at 1.6. Any Haste/Slow speed effects will be "adjusted", +// however the other effects from Haste/Slow (such as #attacks) will not be changed. +// leaving fDEFAULT_SPEED for FLYING will mean NO CHANGE. +// +//sItem_ResRef => This is the BLUEPRINT RESREF of an item to give oFlyer. +// If oFlyer already has this item in inventory, it will not give another. +// Useful if you have a blueprint item that oFlyer can use to LAND. +// +// The function zep_Fly_Land works with this function. +void zep_Fly(object oFlyer, int nAttachWingType=nNO_WING_CHANGE, float fWalk_Speed=fDEFAULT_SPEED, string sItem_ResRef=""); + + +///////////////////////////// zep_Fly_Land \\\\\\\\\\\\\\\\\\\\\\\\\\\ +// zep_Fly_Land(object oFlyer, int nRemoveAttachedWing=TRUE, string sRemove_Item_ResRef="") +// +// object oFlyer <= The creature that you want to "land" +// +// nRemoveAttachedWing <= If you used the function zep_Fly to add a wing, this will remove it. +// +// sRemove_Item_ResRef="" <= This will remove an item with blueprint RESREF from oFlyer's inventory +// +//This function will work with zep_Fly and restore any walk-speed changes made. +void zep_Fly_Land(object oFlyer, int nRemoveAttachedWing=FALSE, string sRemove_Item_ResRef=""); + +//Checks to see if oFlyer does not already have wings attached. +// If no wings, it then adds them +void zep_Wings_Add(object oFlyer, int nAttachWingType); + +//If wings added with zep_Wings_Add, this will remove them +void zep_Wings_Remove(object oFlyer); +void zep_Walk_Speed(object oPC, float fWalk_Speed); +void zep_UnWalk_Speed(object oPC); + + + + +///////////////////////////// zep_Mount \\\\\\\\\\\\\\\\\\\\\\\\\\\ +// zep_Mount(object oRider, object oMount=OBJECT_INVALID, int nMount=0, float fWalk_Speed=fDEFAULT_SPEED, string sItem_ResRef="") +// +// oRider <= The PC or NPC that will Saddle-up. +// Valid for PC Races (not wemics or brownies) & Dynamic Skeletons +// +// To state what mount oRider will use you have two options: +// oMount <= This is a horse or pony creature in your module that the PC or NPC will interact with +// If this method is used, oMount will "vanish" and upon dismounting will reappear. +// Use OBJECT_INVALID to NOT use this method +// +// nMount <= This is an interger to represent the specific mount to use. +// Horses: nCEP_PH_HORSE_BLACK, nCEP_PH_HORSE_BROWN, nCEP_PH_HORSE_WHITE, nCEP_PH_HORSE_AURENTHIL, nCEP_PH_HORSE_NIGHTMARE +// Ponies: nCEP_PH_PONY_SPOT, nCEP_PH_PONY_LTBROWN, nCEP_PH_PONY_BROWN +// +// fWalk_Speed <= This is the speed adjustment that you wish to make. The Default settings +// will use the values we believed to work well. However, you may want to try others if you're not satisfied +// It is given in meters/round. A human walks 1.6 m/r. Our default horses walk at 2.2 m/r. +// This compensates for any Haste/Slow effects (removing their speed adjustment, but leaving their attack/round and AC bonus) +// Under Default: Ponies are slower than horses. Aurenthil/Nightmare are faster. +// Use 0.0 to disable any speed changes. You can also edit these constants in zep_inc_phenos (if you used the .erf version) +// +// sItem_ResRef <= This is the RESREF for a blueprint item that you want the PC to be given. +// It will check the PC's inventory and if missing, it'll add it. +// +// Use zep_Dismount with this function +// IMPORTANT NOTE: oMount can only be mounts with *P1* in their appearance names (under object properties box) +void zep_Mount(object oRider, object oMount=OBJECT_INVALID, int nMount=0, float fWalk_Speed=fDEFAULT_SPEED, string sItem_ResRef=""); + + +///////////////////////////// zep_Dismount \\\\\\\\\\\\\\\\\\\\\\\\\\\ +//zep_Dismount(object oRider, string sRemoveItem_ResRef="") +// to Dismount from a horse/pony - use with zep_Mount +// +// sRemoveItem_ResRef <= This is the ResRef for a blueprint item that you want to remove from oRider +// +// This function automatically restores oMount if used, and resets the PC/NPC's walkspeed (if used) +// If oRider is not riding, nothing will happen +// One good place to use this is on transitions to interiors ;) +void zep_Dismount(object oRider, string sRemoveItem_ResRef=""); + + + +/////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// FUNCTION CODE +/////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\ + + +/////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// zep_Fly +/////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\ + +void zep_Fly(object oFlyer, int nAttachWingType=nNO_WING_CHANGE, float fWalk_Speed=fDEFAULT_SPEED, string sItem_ResRef="") +{ + if (GetIsObjectValid(oFlyer)==FALSE) {return;} + if (GetObjectType(oFlyer)!=OBJECT_TYPE_CREATURE){return;} + + int nAppearance = GetAppearanceType(oFlyer); + if (nAppearance == APPEARANCE_TYPE_INVALID){return;} + + int nNewPhenotype; + int nBool = FALSE; + object oItem; + int nAppearance2; + + int nPhenotype_C = GetPhenoType(oFlyer); + if (nPhenotype_C >nMAX_PHENOTYPE_ALLOWED){return;} //prevents horseriders from flying. + +//Handle Switching (speed, wings afterwards) +switch (nAppearance) + { + case nCEP_APP_ERINYES: + if (n1st_2DA_Check("appearance",nCEP_APP_ERINYES,sCEP_APP_ERINYES)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_ERINYES_FLY,sCEP_APP_ERINYES_FLY); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + nBool=TRUE; + } + break; + + case nCEP_APP_KOBOLD_A: + if (n1st_2DA_Check("appearance",nCEP_APP_KOBOLD_A,sCEP_APP_KOBOLD_A)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_KOBOLD_A_FLY,sCEP_APP_KOBOLD_A_FLY); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + nBool=TRUE; + } + break; + + case nCEP_APP_KOBOLD_B: + if (n1st_2DA_Check("appearance",nCEP_APP_KOBOLD_B,sCEP_APP_KOBOLD_B)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_KOBOLD_B_FLY,sCEP_APP_KOBOLD_B_FLY); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + nBool=TRUE; + } + break; + + case nCEP_APP_KOBOLD_CH_A: + if (n1st_2DA_Check("appearance",nCEP_APP_KOBOLD_CH_A,sCEP_APP_KOBOLD_CH_A)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_KOBOLD_CH_A_FLY, sCEP_APP_KOBOLD_CH_A_FLY); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + nBool=TRUE; + } + break; + + case nCEP_APP_KOBOLD_CH_B: + if (n1st_2DA_Check("appearance",nCEP_APP_KOBOLD_CH_B,sCEP_APP_KOBOLD_CH_B)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_KOBOLD_CH_B_FLY, sCEP_APP_KOBOLD_CH_B_FLY); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + nBool=TRUE; + } + break; + + case nCEP_APP_KOBOLD_SH_A: + if (n1st_2DA_Check("appearance",nCEP_APP_KOBOLD_SH_A,sCEP_APP_KOBOLD_SH_A)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_KOBOLD_SH_A_FLY, sCEP_APP_KOBOLD_SH_A_FLY); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + nBool=TRUE; + } + break; + + case nCEP_APP_KOBOLD_SH_B: + if (n1st_2DA_Check("appearance",nCEP_APP_KOBOLD_SH_B,sCEP_APP_KOBOLD_SH_B)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_KOBOLD_SH_B_FLY, sCEP_APP_KOBOLD_SH_B_FLY); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + nBool=TRUE; + } + break; + + case nCEP_APP_SUCCUBUS: + if (n1st_2DA_Check("appearance",nCEP_APP_SUCCUBUS, sCEP_APP_SUCCUBUS)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_SUCCUBUS_FLY, sCEP_APP_SUCCUBUS_FLY); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + nBool=TRUE; + } + break; + + case nCEP_APP_VAMPIRE_F: + if (n1st_2DA_Check("appearance",nCEP_APP_VAMPIRE_F, sCEP_APP_VAMPIRE_F)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_VAMPIRE_F_FLY, sCEP_APP_VAMPIRE_F_FLY); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + nBool=TRUE; + } + break; + + case nCEP_APP_VAMPIRE_M: + if (n1st_2DA_Check("appearance",nCEP_APP_VAMPIRE_M, sCEP_APP_VAMPIRE_M)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_VAMPIRE_M_FLY, sCEP_APP_VAMPIRE_M_FLY); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + nBool=TRUE; + } + break; + + case nCEP_APP_SKELETON_DYN: + if (n1st_2DA_Check("appearance",nCEP_APP_SKELETON_DYN, sCEP_APP_SKELETON_DYN)==TRUE) + { + SetPhenoType(nCEP_PH_FLY,oFlyer); + nBool=TRUE; + } + break; + + case nCEP_APP_BROWNIE_DYN: + if (n1st_2DA_Check("appearance",nCEP_APP_BROWNIE_DYN, sCEP_APP_BROWNIE_DYN)==TRUE) + { + if (nPhenotype_C == 0) {SetPhenoType(nCEP_PH_FLY,oFlyer);} + else {SetPhenoType(nCEP_PH_FLY_L,oFlyer);} + nBool=TRUE; + } + break; + + case APPEARANCE_TYPE_DWARF: + case APPEARANCE_TYPE_ELF: + case APPEARANCE_TYPE_GNOME: + case APPEARANCE_TYPE_HALF_ELF: + case APPEARANCE_TYPE_HALF_ORC: + case APPEARANCE_TYPE_HALFLING: + case APPEARANCE_TYPE_HUMAN: + if (nPhenotype_C == 0) + { + nNewPhenotype = n1st_Get_2DARow("phenotype",nCEP_PH_FLY,sCEP_PH_FLY); + if (nNewPhenotype!=-1) + { + SetPhenoType(nNewPhenotype,oFlyer); + nBool=TRUE; + } + } + else + { + nNewPhenotype = n1st_Get_2DARow("phenotype",nCEP_PH_FLY_L,sCEP_PH_FLY_L); + if (nNewPhenotype!=-1) + { + SetPhenoType(nNewPhenotype,oFlyer); + nBool=TRUE; + } + } + + break; + + } // end Switch + + if (nBool==FALSE) {return;} // no changes made as oFlyer failed to meet requirements + string sSay; + SetLocalInt(oFlyer, "nCEP_Phenotype_C", nPhenotype_C); // how we'll get the PC back + if (nAttachWingType != nNO_WING_CHANGE){zep_Wings_Add(oFlyer, nAttachWingType);} + if (fWalk_Speed != fDEFAULT_SPEED){zep_Walk_Speed(oFlyer, fWalk_Speed);} + if ( (sItem_ResRef !="") && (n1st_HasItemInInventory(oFlyer,"",sItem_ResRef)==FALSE) ) + { + oItem = CreateItemOnObject(sItem_ResRef, oFlyer); + if (GetIsObjectValid(oItem)==FALSE) + { + sSay = "********* ERROR in zep_FLY: Create Item failed. Blueprint with sResRef: " + sItem_ResRef + " does not exist or could not be given to: " + GetName(oFlyer); + PrintString(sSay); + } + } + +} + + +/////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// zep_Fly_Land +/////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\ + +void zep_Fly_Land(object oFlyer, int nRemoveAttachedWing=FALSE, string sRemove_Item_ResRef="") +{ + if (GetObjectType(oFlyer)!=OBJECT_TYPE_CREATURE){return;} + if (GetIsObjectValid(oFlyer)==FALSE) {return;} + + int nAppearance = GetAppearanceType(oFlyer); + if (nAppearance == APPEARANCE_TYPE_INVALID){return;} + + + int nBool = FALSE; + object oItem; + int nAppearance2; + + int nPhenotype = GetPhenoType(oFlyer); + + if (nPhenotype>nMAX_PHENOTYPE_ALLOWED) + { + if (nPhenotype>nMAX_PHENOTYPE_STANDARD){SetPhenoType(2,oFlyer);} + else {SetPhenoType(0,oFlyer);} + nBool=TRUE; + } + +////////////////WINGS\\\\\\\\\\\\\\ +if (nRemoveAttachedWing==TRUE){zep_Wings_Remove(oFlyer);} + +////////////////ITEM\\\\\\\\\\\\\\ +if (sRemove_Item_ResRef!="") + { + oItem = o1st_GetItemInInventory(oFlyer, "",sRemove_Item_ResRef); + DestroyObject(oItem); + } + +////////////////SPEED\\\\\\\\\\\\\\ +zep_UnWalk_Speed(oFlyer); +//////////////////\\\\\\\\\\\\\\\\\\ + +DeleteLocalInt(oFlyer,"nCEP_Phenotype_C"); +if (nBool==TRUE){return;} + +switch (nAppearance) + { + case nCEP_APP_ERINYES_FLY: + if (n1st_2DA_Check("appearance",nCEP_APP_ERINYES_FLY,sCEP_APP_ERINYES_FLY)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_ERINYES,sCEP_APP_ERINYES); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + } + break; + + case nCEP_APP_KOBOLD_A_FLY: + if (n1st_2DA_Check("appearance",nCEP_APP_KOBOLD_A_FLY,sCEP_APP_KOBOLD_A_FLY)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_KOBOLD_A,sCEP_APP_KOBOLD_A); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + } + break; + + case nCEP_APP_KOBOLD_B_FLY: + if (n1st_2DA_Check("appearance",nCEP_APP_KOBOLD_B_FLY,sCEP_APP_KOBOLD_B_FLY)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_KOBOLD_B,sCEP_APP_KOBOLD_B); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + } + break; + + case nCEP_APP_KOBOLD_CH_A_FLY: + if (n1st_2DA_Check("appearance",nCEP_APP_KOBOLD_CH_A_FLY,sCEP_APP_KOBOLD_CH_A_FLY)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_KOBOLD_CH_A, sCEP_APP_KOBOLD_CH_A); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + } + break; + + case nCEP_APP_KOBOLD_CH_B_FLY: + if (n1st_2DA_Check("appearance",nCEP_APP_KOBOLD_CH_B_FLY,sCEP_APP_KOBOLD_CH_B_FLY)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_KOBOLD_CH_B, sCEP_APP_KOBOLD_CH_B); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + } + break; + + case nCEP_APP_KOBOLD_SH_A_FLY: + if (n1st_2DA_Check("appearance",nCEP_APP_KOBOLD_SH_A_FLY,sCEP_APP_KOBOLD_SH_A_FLY)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_KOBOLD_SH_A, sCEP_APP_KOBOLD_SH_A); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + } + break; + + case nCEP_APP_KOBOLD_SH_B_FLY: + if (n1st_2DA_Check("appearance",nCEP_APP_KOBOLD_SH_B_FLY,sCEP_APP_KOBOLD_SH_B_FLY)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_KOBOLD_SH_B, sCEP_APP_KOBOLD_SH_B); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + } + break; + + case nCEP_APP_SUCCUBUS_FLY: + if (n1st_2DA_Check("appearance",nCEP_APP_SUCCUBUS_FLY, sCEP_APP_SUCCUBUS_FLY)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_SUCCUBUS, sCEP_APP_SUCCUBUS); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + } + break; + + case nCEP_APP_VAMPIRE_F_FLY: + if (n1st_2DA_Check("appearance",nCEP_APP_VAMPIRE_F_FLY, sCEP_APP_VAMPIRE_F_FLY)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_VAMPIRE_F, sCEP_APP_VAMPIRE_F); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + } + break; + + case nCEP_APP_VAMPIRE_M_FLY: + if (n1st_2DA_Check("appearance",nCEP_APP_VAMPIRE_M_FLY, sCEP_APP_VAMPIRE_M_FLY)==TRUE) + { + nAppearance2 = n1st_Get_2DARow("appearance",nCEP_APP_VAMPIRE_M, sCEP_APP_VAMPIRE_M); + if (nAppearance2 != -1) {SetCreatureAppearanceType(oFlyer, nAppearance2);} + } + break; + + } +} + + + +/////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\ +// zep_Mount +/////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\ + +void zep_Mount(object oRider, object oMount=OBJECT_INVALID, int nMount=0, float fWalk_Speed=fDEFAULT_SPEED, string sItem_ResRef="") +{ + //Verify oRider is of the correct Phenotype (i.e. not already on a horse or flying) + + if (GetObjectType(oRider)!=OBJECT_TYPE_CREATURE){return;} + int nPhenotype_C = GetPhenoType(oRider); + if (nPhenotype_C >nMAX_PHENOTYPE_ALLOWED){return;} + + int nAppearance = GetAppearanceType(oRider); + + int nNewPhenotype; + int nBool = FALSE; + object oItem; + int nAppearance2; + + + //Verify oRider is of valid appearance + //The IMPORTANT point is that the model name is the same. + //doesn't matter at all when the Appearance # is. + string sModel = GetStringLowerCase(s1st_Get_2DAModelName("appearance",nAppearance)); + + if (sModel == GetStringLowerCase(sCEP_APP_PCRACE_DWARF)){nBool=TRUE;} + if (sModel == GetStringLowerCase(sCEP_APP_PCRACE_ELF)){nBool=TRUE;} + if (sModel == GetStringLowerCase(sCEP_APP_PCRACE_GNOME)){nBool=TRUE;} + if (sModel == GetStringLowerCase(sCEP_APP_PCRACE_HALFELF)){nBool=TRUE;} + if (sModel == GetStringLowerCase(sCEP_APP_PCRACE_HALFLING)){nBool=TRUE;} + if (sModel == GetStringLowerCase(sCEP_APP_PCRACE_HALFORC)){nBool=TRUE;} + if (sModel == GetStringLowerCase(sCEP_APP_PCRACE_HUMAN)){nBool=TRUE;} + if (sModel == GetStringLowerCase(sCEP_APP_SKELETON_DYN)){nBool=TRUE;} + + if (nBool==FALSE){return;} + + nBool=FALSE; +// Next step - find out what the mount is: + if (oMount !=OBJECT_INVALID) + { + nAppearance2 = GetAppearanceType(oMount); + sModel = GetStringLowerCase(s1st_Get_2DAModelName("appearance",nAppearance2)); + if (sModel == GetStringLowerCase(sCEP_APP_HORSE_AURENTHIL)){nBool=TRUE; nMount = nCEP_PH_HORSE_AURENTHIL;} + if (sModel == GetStringLowerCase(sCEP_APP_HORSE_BLACK)){nBool=TRUE; nMount = nCEP_PH_HORSE_BLACK;} + if (sModel == GetStringLowerCase(sCEP_APP_HORSE_BROWN)){nBool=TRUE; nMount = nCEP_PH_HORSE_BROWN;} + if (sModel == GetStringLowerCase(sCEP_APP_HORSE_NIGHTMARE)){nBool=TRUE; nMount = nCEP_PH_HORSE_NIGHTMARE;} + if (sModel == GetStringLowerCase(sCEP_APP_HORSE_WHITE)){nBool=TRUE; nMount = nCEP_PH_HORSE_WHITE;} + if (sModel == GetStringLowerCase(sCEP_APP_PONY_BROWN)){nBool=TRUE; nMount = nCEP_PH_PONY_BROWN;} + if (sModel == GetStringLowerCase(sCEP_APP_PONY_LTBROWN)){nBool=TRUE; nMount = nCEP_PH_PONY_LTBROWN;} + if (sModel == GetStringLowerCase(sCEP_APP_PONY_SPOTTED)){nBool=TRUE; nMount = nCEP_PH_PONY_SPOT;} + } + else + { + switch (nMount) + { + case nCEP_PH_HORSE_AURENTHIL: + case nCEP_PH_HORSE_AURENTHIL_L: + case nCEP_PH_HORSE_BLACK: + case nCEP_PH_HORSE_BLACK_L: + case nCEP_PH_HORSE_BROWN: + case nCEP_PH_HORSE_BROWN_L: + case nCEP_PH_HORSE_NIGHTMARE: + case nCEP_PH_HORSE_NIGHTMARE_L: + case nCEP_PH_HORSE_WHITE: + case nCEP_PH_HORSE_WHITE_L: + case nCEP_PH_PONY_BROWN: + case nCEP_PH_PONY_BROWN_L: + case nCEP_PH_PONY_LTBROWN: + case nCEP_PH_PONY_LTBROWN_L: + case nCEP_PH_PONY_SPOT: + case nCEP_PH_PONY_SPOT_L: + nBool=TRUE; + break; + } + } + +//At this point it is either a valid entry for the mount or not. + + if (nBool==FALSE){return;} + +////////////////////////////FIXED Nov.6th - Excimer\\\\\\\\\\\\\\\\\\\\\\\\\ +// ok Validated Rider & Mount... Fix for Phenotypes + + //original + /* if ( (nPhenotype_C == 0) && (nMount> nMAX_PHENOTYPE_STANDARD) ){nMount=nMount-20;} + if ( (nPhenotype_C == 2) && (nMount< nMIN_PHENOTYPE_LARGE) ) {nMount=nMount+20;} + */ + //Notes: Above made incorrect due to Bioware Horse Change before our release... + + if ( (nPhenotype_C == 0) && (nMount> nMAX_PHENOTYPE_STANDARD) ) + { + switch (nMount) + { + case nCEP_PH_HORSE_AURENTHIL_L: nMount = nCEP_PH_HORSE_AURENTHIL; break; + case nCEP_PH_HORSE_BLACK_L: nMount = nCEP_PH_HORSE_BLACK; break; + case nCEP_PH_HORSE_BROWN_L: nMount = nCEP_PH_HORSE_BROWN; break; + case nCEP_PH_HORSE_NIGHTMARE_L: nMount = nCEP_PH_HORSE_NIGHTMARE; break; + case nCEP_PH_HORSE_WHITE_L: nMount = nCEP_PH_HORSE_WHITE; break; + case nCEP_PH_PONY_BROWN_L: nMount = nCEP_PH_PONY_BROWN; break; + case nCEP_PH_PONY_LTBROWN_L: nMount = nCEP_PH_PONY_LTBROWN; break; + case nCEP_PH_PONY_SPOT_L: nMount = nCEP_PH_PONY_SPOT; break; + } + } + if ( (nPhenotype_C == 2) && (nMount< nMIN_PHENOTYPE_LARGE) ) + { + switch (nMount) + { + case nCEP_PH_HORSE_AURENTHIL: nMount = nCEP_PH_HORSE_AURENTHIL_L; break; + case nCEP_PH_HORSE_BLACK: nMount = nCEP_PH_HORSE_BLACK_L; break; + case nCEP_PH_HORSE_BROWN: nMount = nCEP_PH_HORSE_BROWN_L; break; + case nCEP_PH_HORSE_NIGHTMARE: nMount = nCEP_PH_HORSE_NIGHTMARE_L; break; + case nCEP_PH_HORSE_WHITE: nMount = nCEP_PH_HORSE_WHITE_L; break; + case nCEP_PH_PONY_BROWN: nMount = nCEP_PH_PONY_BROWN_L; break; + case nCEP_PH_PONY_LTBROWN: nMount = nCEP_PH_PONY_LTBROWN_L; break; + case nCEP_PH_PONY_SPOT: nMount = nCEP_PH_PONY_SPOT_L; break; + } + + } +/////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + +//Now we still need to verify that the 2da has the entry. *sighs* + +nBool=FALSE; +int nMountFinal = -1; + + switch (nMount) + { + case nCEP_PH_HORSE_AURENTHIL: + nMountFinal = n1st_Get_2DARow("phenotype",nMount,sCEP_PH_HORSE_AURENTHIL); + if (fWalk_Speed==fDEFAULT_SPEED) {fWalk_Speed=fSPEED_AURENTHIL;} + break; + + case nCEP_PH_HORSE_AURENTHIL_L: + nMountFinal = n1st_Get_2DARow("phenotype",nMount,sCEP_PH_HORSE_AURENTHIL_L); + if (fWalk_Speed==fDEFAULT_SPEED) {fWalk_Speed=fSPEED_AURENTHIL;} + break; + + case nCEP_PH_HORSE_BLACK: + nMountFinal = n1st_Get_2DARow("phenotype",nMount,sCEP_PH_HORSE_BLACK); + if (fWalk_Speed==fDEFAULT_SPEED) {fWalk_Speed=fSPEED_HORSE_BLACK;} + break; + + case nCEP_PH_HORSE_BLACK_L: + nMountFinal = n1st_Get_2DARow("phenotype",nMount,sCEP_PH_HORSE_BLACK_L); + if (fWalk_Speed==fDEFAULT_SPEED) {fWalk_Speed=fSPEED_HORSE_BLACK;} + break; + + case nCEP_PH_HORSE_BROWN: + nMountFinal = n1st_Get_2DARow("phenotype",nMount,sCEP_PH_HORSE_BROWN); + if (fWalk_Speed==fDEFAULT_SPEED) {fWalk_Speed=fSPEED_HORSE_BROWN;} + break; + + case nCEP_PH_HORSE_BROWN_L: + nMountFinal = n1st_Get_2DARow("phenotype",nMount,sCEP_PH_HORSE_BROWN_L); + if (fWalk_Speed==fDEFAULT_SPEED) {fWalk_Speed=fSPEED_HORSE_BROWN;} + break; + + case nCEP_PH_HORSE_NIGHTMARE: + nMountFinal = n1st_Get_2DARow("phenotype",nMount,sCEP_PH_HORSE_NIGHTMARE); + if (fWalk_Speed==fDEFAULT_SPEED) {fWalk_Speed=fSPEED_HORSE_NIGHTMARE;} + break; + + case nCEP_PH_HORSE_NIGHTMARE_L: + nMountFinal = n1st_Get_2DARow("phenotype",nMount,sCEP_PH_HORSE_NIGHTMARE_L); + if (fWalk_Speed==fDEFAULT_SPEED) {fWalk_Speed=fSPEED_HORSE_NIGHTMARE;} + break; + + case nCEP_PH_HORSE_WHITE: + nMountFinal = n1st_Get_2DARow("phenotype",nMount,sCEP_PH_HORSE_WHITE); + if (fWalk_Speed==fDEFAULT_SPEED) {fWalk_Speed=fSPEED_HORSE_WHITE;} + break; + + case nCEP_PH_HORSE_WHITE_L: + nMountFinal = n1st_Get_2DARow("phenotype",nMount,sCEP_PH_HORSE_WHITE_L); + if (fWalk_Speed==fDEFAULT_SPEED) {fWalk_Speed=fSPEED_HORSE_WHITE;} + break; + + case nCEP_PH_PONY_BROWN: + nMountFinal = n1st_Get_2DARow("phenotype",nMount,sCEP_PH_PONY_BROWN); + if (fWalk_Speed==fDEFAULT_SPEED) {fWalk_Speed=fSPEED_PONY_BROWN;} + break; + + case nCEP_PH_PONY_BROWN_L: + nMountFinal = n1st_Get_2DARow("phenotype",nMount,sCEP_PH_PONY_BROWN_L); + if (fWalk_Speed==fDEFAULT_SPEED) {fWalk_Speed=fSPEED_PONY_BROWN;} + break; + + case nCEP_PH_PONY_LTBROWN: + nMountFinal = n1st_Get_2DARow("phenotype",nMount,sCEP_PH_PONY_LTBROWN); + if (fWalk_Speed==fDEFAULT_SPEED) {fWalk_Speed=fSPEED_PONY_LTBROWN;} + break; + + case nCEP_PH_PONY_LTBROWN_L: + nMountFinal = n1st_Get_2DARow("phenotype",nMount,sCEP_PH_PONY_LTBROWN_L); + if (fWalk_Speed==fDEFAULT_SPEED) {fWalk_Speed=fSPEED_PONY_LTBROWN;} + break; + + case nCEP_PH_PONY_SPOT: + nMountFinal = n1st_Get_2DARow("phenotype",nMount,sCEP_PH_PONY_SPOT); + if (fWalk_Speed==fDEFAULT_SPEED) {fWalk_Speed=fSPEED_PONY_SPOT;} + break; + + case nCEP_PH_PONY_SPOT_L: + nMountFinal = n1st_Get_2DARow("phenotype",nMount,sCEP_PH_PONY_SPOT_L); + if (fWalk_Speed==fDEFAULT_SPEED) {fWalk_Speed=fSPEED_PONY_SPOT;} + break; + + } +if (nMountFinal == -1){return;} //after all that, the 2da file does not have this phenotype + +//Saddle up CowOrc +SetPhenoType(nMountFinal, oRider); + +/////////////////////REMOVE CAPES\\\\\\\\\\\\\\\\\\ +//nCEP_Mount_Cape NO! Why? B/c if the player logs out their armor will remain changed! +// This is on the top of the post-CEPv2 list of things to fix anyway. + +//Remove existing Horse if any\\ +SetLocalObject(oRider, "oCEP_Mount_C",oMount); //thus either object invalid or the mount +effect eInvisible = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY); +effect eGhost = EffectCutsceneGhost(); +effect eDisApp = EffectDisappearAppear(GetLocation(oMount)); + + if (oMount !=OBJECT_INVALID) + { + AssignCommand(oMount, ClearAllActions(TRUE)); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eInvisible,oMount); + DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eGhost,oMount)); + DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eDisApp,oMount)); + } + +// Speed Adjustment & Give Item +if (fWalk_Speed>0.0) {zep_Walk_Speed(oRider, fWalk_Speed);} + +if ( (sItem_ResRef !="") && (n1st_HasItemInInventory(oRider,"",sItem_ResRef)==FALSE) ) + {oItem = CreateItemOnObject(sItem_ResRef, oRider);} + +} + +////////////////////////////////////DISMOUNT\\\\\\\\\\\\\\\\\\\\\\\\\\\\ +void zep_Dismount(object oRider, string sRemoveItem_ResRef="") //ntired=TRUE; switch(ntired){case TRUE: GetCoffee(oExcimer); break;} +{ + //Checks\\ + if (GetObjectType(oRider)!=OBJECT_TYPE_CREATURE){return;} + int nPhenotype_C = GetPhenoType(oRider); + if (nPhenotype_C nMAX_PHENOTYPE_STANDARD){DelayCommand(1.5,SetPhenoType(2,oRider));} + else {DelayCommand(1.5,SetPhenoType(0,oRider));} + +//speed: + zep_UnWalk_Speed(oRider); + +//Restore Mount +object oMount = GetLocalObject(oRider, "oCEP_Mount_C"); //thus either object invalid or the mount +effect eFX; +float fDelay=3.0; +if (GetIsObjectValid(oMount)==TRUE) + { + x1st_Effect_RemoveType(oMount,EFFECT_TYPE_DISAPPEARAPPEAR ); + x1st_Effect_RemoveType(oMount,EFFECT_TYPE_CUTSCENEGHOST ); + + AssignCommand(oMount, ActionJumpToObject(oRider,FALSE)); + DelayCommand(2.0, x1st_Effect_RemoveType(oMount,EFFECT_TYPE_VISUALEFFECT)); + DelayCommand(3.0,DeleteLocalObject(oRider,"oCEP_Mount_C")); + } + +object oItem; +////////////////ITEM\\\\\\\\\\\\\\ +if (sRemoveItem_ResRef!="") + { + oItem = o1st_GetItemInInventory(oRider, "",sRemoveItem_ResRef); + DestroyObject(oItem); + } +} + + + + + + +void zep_Wings_Remove(object oFlyer) +{ + if (GetObjectType(oFlyer)!=OBJECT_TYPE_CREATURE){return;} + int nWinged = GetLocalInt(oFlyer, "nCEP_Wings_Remove_C"); + if (nWinged == 0) {return;} + + SetLocalInt(oFlyer, "nCEP_Wings_Remove_C", 0); + DeleteLocalInt(oFlyer, "nCEP_Wings_Remove_C"); + SetCreatureWingType(nCEP_WG_NONE, oFlyer); +} + + +void zep_Wings_Add(object oFlyer, int nAttachWingType) +{ + if (GetObjectType(oFlyer)!=OBJECT_TYPE_CREATURE){return;} + + if (GetCreatureWingType(oFlyer)!=CREATURE_WING_TYPE_NONE) + {return;} + + SetLocalInt(oFlyer, "nCEP_Wings_Remove_C", 0); + + string sModel; + switch (nAttachWingType) + { + case nCEP_WG_ANGEL: sModel = sCEP_WG_ANGEL; break; + case nCEP_WG_ANGEL_ARMORED: sModel =sCEP_WG_ANGEL_ARMORED; break; + case nCEP_WG_ANGEL_FALLEN: sModel =sCEP_WG_ANGEL_FALLEN; break; + case nCEP_WG_ANGEL_SKIN: sModel =sCEP_WG_ANGEL_SKIN; break; + case nCEP_WG_BAT: sModel =sCEP_WG_BAT; break; + case nCEP_WG_BAT_SKIN: sModel =sCEP_WG_BAT_SKIN; break; + case nCEP_WG_BIRD: sModel =sCEP_WG_BIRD; break; + case nCEP_WG_BIRD_BLUE: sModel =sCEP_WG_BIRD_BLUE; break; + case nCEP_WG_BIRD_DARK: sModel =sCEP_WG_BIRD_DARK; break; + case nCEP_WG_BIRD_KENKU: sModel =sCEP_WG_BIRD_KENKU; break; + case nCEP_WG_BIRD_RAVEN: sModel =sCEP_WG_BIRD_RAVEN; break; + case nCEP_WG_BIRD_RED: sModel =sCEP_WG_BIRD_RED; break; + case nCEP_WG_BIRD_SKIN: sModel =sCEP_WG_BIRD_SKIN; break; + case nCEP_WG_BUTTERFLY: sModel =sCEP_WG_BUTTERFLY; break; + case nCEP_WG_BUTTERFLY_BLACK: sModel =sCEP_WG_BUTTERFLY_BLACK; break; + case nCEP_WG_BUTTERFLY_BLUE: sModel =sCEP_WG_BUTTERFLY_BLUE; break; + case nCEP_WG_BUTTERFLY_BRGBLUE: sModel =sCEP_WG_BUTTERFLY_BRGBLUE; break; + case nCEP_WG_BUTTERFLY_DKFOREST: sModel =sCEP_WG_BUTTERFLY_DKFOREST; break; + case nCEP_WG_BUTTERFLY_FOREST: sModel =sCEP_WG_BUTTERFLY_FOREST; break; + case nCEP_WG_BUTTERFLY_GREENGOLD: sModel =sCEP_WG_BUTTERFLY_GREENGOLD; break; + case nCEP_WG_BUTTERFLY_ICEGREEN: sModel =sCEP_WG_BUTTERFLY_ICEGREEN; break; + case nCEP_WG_BUTTERFLY_MAUVE: sModel =sCEP_WG_BUTTERFLY_MAUVE; break; + case nCEP_WG_BUTTERFLY_ORANGE: sModel =sCEP_WG_BUTTERFLY_ORANGE; break; + case nCEP_WG_BUTTERFLY_RED: sModel =sCEP_WG_BUTTERFLY_RED; break; + case nCEP_WG_BUTTERFLY_SIENNA: sModel =sCEP_WG_BUTTERFLY_SIENNA; break; + case nCEP_WG_BUTTERFLY_SKIN: sModel =sCEP_WG_BUTTERFLY_SKIN; break; + case nCEP_WG_BUTTERFLY_VIOLET: sModel =sCEP_WG_BUTTERFLY_VIOLET; break; + case nCEP_WG_BUTTERFLY_VIOLETGOLD: sModel =sCEP_WG_BUTTERFLY_VIOLETGOLD; break; + case nCEP_WG_BUTTERFLY_YELLOW: sModel =sCEP_WG_BUTTERFLY_YELLOW; break; + case nCEP_WG_DEMON: sModel =sCEP_WG_DEMON; break; + case nCEP_WG_DEMON_BALOR: sModel =sCEP_WG_DEMON_BALOR; break; + case nCEP_WG_DEMON_BLUE_TRANS: sModel =sCEP_WG_DEMON_BLUE_TRANS; break; + case nCEP_WG_DEMON_ERINYES: sModel =sCEP_WG_DEMON_ERINYES; break; + case nCEP_WG_DEMON_MEPHISTO: sModel =sCEP_WG_DEMON_MEPHISTO; break; + case nCEP_WG_DEMON_RED_TRANS: sModel =sCEP_WG_DEMON_RED_TRANS; break; + case nCEP_WG_DEMON_SKIN: sModel =sCEP_WG_DEMON_SKIN; break; + case nCEP_WG_DRAGON_BIG: sModel =sCEP_WG_DRAGON_BIG; break; + case nCEP_WG_DRAGON_BLACK: sModel =sCEP_WG_DRAGON_BLACK; break; + case nCEP_WG_DRAGON_BLUE: sModel =sCEP_WG_DRAGON_BLUE; break; + case nCEP_WG_DRAGON_BRASS: sModel =sCEP_WG_DRAGON_BRASS ; break; + case nCEP_WG_DRAGON_BRONZE: sModel =sCEP_WG_DRAGON_BRONZE ; break; + case nCEP_WG_DRAGON_COPPER: sModel =sCEP_WG_DRAGON_COPPER ; break; + case nCEP_WG_DRAGON_DRACOLICH: sModel =sCEP_WG_DRAGON_DRACOLICH ; break; + case nCEP_WG_DRAGON_GOLD: sModel =sCEP_WG_DRAGON_GOLD ; break; + case nCEP_WG_DRAGON_GREEN: sModel =sCEP_WG_DRAGON_GREEN ; break; + case nCEP_WG_DRAGON_PRISMATIC: sModel =sCEP_WG_DRAGON_PRISMATIC ; break; + case nCEP_WG_DRAGON_RED: sModel =sCEP_WG_DRAGON_RED ; break; + case nCEP_WG_DRAGON_SHADOW: sModel =sCEP_WG_DRAGON_SHADOW ; break; + case nCEP_WG_DRAGON_SILVER: sModel =sCEP_WG_DRAGON_SILVER ; break; + case nCEP_WG_DRAGON_SKIN: sModel =sCEP_WG_DRAGON_SKIN ; break; + case nCEP_WG_DRAGON_WHITE: sModel =sCEP_WG_DRAGON_WHITE ; break; + case nCEP_WG_FLYING_ANGEL: sModel =sCEP_WG_FLYING_ANGEL ; break; + case nCEP_WG_FLYING_DEMON_1: sModel =sCEP_WG_FLYING_DEMON_1 ; break; + case nCEP_WG_FLYING_DEMON_2: sModel =sCEP_WG_FLYING_DEMON_2 ; break; + case nCEP_WG_GARGOYLE: sModel =sCEP_WG_GARGOYLE ; break; + case nCEP_WG_HALFDRAGON_GOLD: sModel =sCEP_WG_HALFDRAGON_GOLD ; break; + case nCEP_WG_HALFDRAGON_SILVER: sModel =sCEP_WG_HALFDRAGON_SILVER ; break; + +//Yes... you'd think that someone with advanced degrees in Mathematics & Physics +// would've come up with a better solution too. + } + +//Now we have the "row #" and the wing model name. + int nRowNumber = n1st_Get_2DARow("wingmodel",nAttachWingType, sModel); + + if (nRowNumber !=-1) + { + SetLocalInt(oFlyer, "nCEP_Wings_Remove_C", 1); + SetCreatureWingType(nRowNumber, oFlyer); + } +} + + +void zep_Walk_Speed(object oPC, float fWalk_Speed) +{ + effect eSpeed; + float fSpeed_Change = f1st_GetSpeed_PercentChange(oPC, fWalk_Speed); + int nSpeed_Change = FloatToInt(100*fSpeed_Change); + + if (fWalk_Speed==0.0){SetLocalInt(oPC, "nCEP_SPEED_EFFECT_C",0); return;} + + if (nSpeed_Change<-1) + { + eSpeed = EffectMovementSpeedDecrease(-nSpeed_Change); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSpeed, oPC); + SetLocalInt(oPC, "nCEP_SPEED_EFFECT_C",-1); + } + if (nSpeed_Change>1) + { + eSpeed = EffectMovementSpeedIncrease(nSpeed_Change); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSpeed, oPC); + SetLocalInt(oPC, "nCEP_SPEED_EFFECT_C",1); + } +} + +void zep_UnWalk_Speed(object oPC) +{ +effect eEff = GetFirstEffect(oPC); +int nSpeed_ADJ = GetLocalInt(oPC, "nCEP_SPEED_EFFECT_C"); +int nSpeed_Eff_Type; + if (nSpeed_ADJ == -1){nSpeed_Eff_Type=EFFECT_TYPE_MOVEMENT_SPEED_DECREASE;} + if (nSpeed_ADJ == 1) {nSpeed_Eff_Type=EFFECT_TYPE_MOVEMENT_SPEED_INCREASE;} +if (nSpeed_ADJ !=0) + { + while (GetIsEffectValid(eEff)==TRUE) + { + if (GetEffectType(eEff)==nSpeed_Eff_Type){RemoveEffect(oPC,eEff);} + eEff = GetNextEffect(oPC); + } + } +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_inc_scrptdlg.nss b/cep_blueprints/_hak/prc_add_sb/zep_inc_scrptdlg.nss new file mode 100644 index 0000000..de59ec9 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_inc_scrptdlg.nss @@ -0,0 +1,51 @@ +//File name: zep_inc_scrptdlg +//Author: Loki Hakanin +//Usage/Explanation: +// This include file is intended for use with the NWN CEP. +// This is an index of the cep.tlk file dialogue TLK file +// offsets for the various strings of text that are +// sent to the player, DMs, etc, during the execution +// of various CEP scripts. + +//const int nZEPScriptTLKOffset = 16818216; +//Traps +const int nZEPPitJump = (16818226); //df_t0_camopita.nss: SendMessageToPC(oPC,"You jump to the side and =avoid falling into the pit"); +const int nZEPPitFall = (16818227); //df_t0_camopita.nss: SendMessageToPC(oPC,"You fall into the =pit!"); +const int nZEPPitClimb = (16818228); //df_t0_camopita.nss: DelayCommand(30.0,SendMessageToPC(oPC,"You finally climb out of the =pit")); +const int nZEPDrowning = (16818231); //trap_fire.nss: AssignCommand(oPC,SpeakString("Blub! =Glug!")); +const int nZEPTrapFind = (16818234); //trap_on_acquire.nss: SendMessageToPC(oPC,"Nearest Trap: ="+GetName(GetNearestTrapToObject(oPC))); +const int nZEPTrapSearch1 = (16818235); //trap_on_load.nss: PrintString("In "+sTag+" Checking for: ="+IntToString(nID)+", found: "+GetTag(oTrap)); +const int nZEPTrapSearch2= (16818236); //trap_on_load.nss: PrintString("In "+sTag+" Checking for: ="+IntToString(nID)+", found: "+GetTag(oTrap)); +const int nZEPTrapSearch3 = (16818237); //trap_on_load.nss: PrintString("In "+sTag+" Checking for: ="+IntToString(nID)+", found: "+GetTag(oTrap)); +const int nZEPTrapReset = (16818238); //trap_reset.nss: SendMessageToPC(oPC,"The lever clicks into its new =postion"); + +//Item Properties +const int nZEPGenderRestTXT = (16818246); //zep_inc_main.nss: SendMessageToPC(oPC,"You cannot equip that =item due to gender differences."); + +//Doors +const int nZEPDoorLocked = (16818256); //zep_openclose.nss: SpeakString("Locked"); + +//Demilich Scripts +const int nZEPReturnToLife = (16818266); //zep_demi_dest.nss: SendMessageToPC(oVictimCounter,"You feel =disoriented momentarily as your soul returns to its mortal coil."); +const int nZEPCacklingLaugh = (16818267); //zep_demi_onspell.nss: =DelayCommand(6.0,SpeakString("Hahhahaha....",TALKVOLUME_SHOUT)); +const int nZEPCantBeRaised = (16818268); //zep_inc_demi.nss:const string ZEP_DEMI_RESLAY_MSG =3D " jerks upright =and spasms for a few moments before collapsing again."; +const int nZEPNoRaiseExplan = (16818269); //zep_inc_demi.nss:const string ZEP_DEMI_RESLAY_MSG2 =3D "Until the =demilich's captive souls are freed, its victims cannot be raised."; +const int nZEPDemiRestored = (16818270); //zep_inc_demi.nss:const string ZEP_DEMI_REGEN_MSG =3D "At last, I am =restored..."; +const int nZEPDemiDisturbed = (16818271); //zep_inc_demi.nss:const string ZEP_DEMI_DIST_MSG =3D "You disturb my =work!"; +const int nZEPDemiHavePower = (16818272); //zep_inc_demi.nss:const string ZEP_DEMI_ONSPELL_MSG =3D "Yes, I sense you =have power...your potential shall be mine!"; +const int nZEPDemiVictFree = (16818273); //zep_inc_demi.nss:const string ZEP_DEMI_FINAL_DEST =3D "With the demilich =destroyed, the souls of its victims are released to their bodies."; + +//Marilith Scripts +const int nZEPMarilithDMG = (16818286); //zep_marilith_end.nss: SendMessageToPC(oTarget, "You were hit for ="+IntToString(nDamage)); + +//Rust monster scripts +const int nZEPRustMonBrush = (16818296); //zep_rust_cmb_end.nss: SendMessageToPC(oPC,"The Rust Monster's =antennae brush against your "+sItem ); +const int nZEPRustButResist1 = (16818297); //zep_rust_cmb_end.nss: SendMessageToPC(oPC,"But the "+sItem+" =resists the rust effects!"); +const int nZEPRustButResist2 = (16818298); //zep_rust_cmb_end.nss: SendMessageToPC(oPC,"But the "+sItem+" =resists the rust effects!"); +const int nZEPRustAndDest = (16818299); //zep_rust_cmb_end.nss: SendMessageToPC(oPC,"And destroys your ="+sItem+"!"); +const int nZEPRustYourTXT = (16818300); //zep_rust_dmg.nss: "Your " +const int nZEPRustWeapRes = (16818301); //zep_rust_dmg.nss: SendMessageToPC(oPC,"Your "+sWeapon+" =resists the rust effects."); +const int nZEPRustWeapDest = (16818302); //zep_rust_dmg.nss: SendMessageToPC(oPC,"Your "+sWeapon+" =damages the monster, but is destroyed in the process!"); + +const int nZEPFoundSecret = (16818316); //zep_sarcof1use.nss: "You have discovered a secret passage!" + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_incense.utp b/cep_blueprints/_hak/prc_add_sb/zep_incense.utp new file mode 100644 index 0000000..94ea4b1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_incense.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_incense001.utp b/cep_blueprints/_hak/prc_add_sb/zep_incense001.utp new file mode 100644 index 0000000..e519497 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_incense001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_inkbrshes001.utp b/cep_blueprints/_hak/prc_add_sb/zep_inkbrshes001.utp new file mode 100644 index 0000000..e235acb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_inkbrshes001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_inkwell.utp b/cep_blueprints/_hak/prc_add_sb/zep_inkwell.utp new file mode 100644 index 0000000..3ce9ece Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_inkwell.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_irieni.utc b/cep_blueprints/_hak/prc_add_sb/zep_irieni.utc new file mode 100644 index 0000000..e53bdac Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_irieni.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ironmaid001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ironmaid001.utp new file mode 100644 index 0000000..a05552f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ironmaid001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_is_robe.ncs b/cep_blueprints/_hak/prc_add_sb/zep_is_robe.ncs new file mode 100644 index 0000000..6c508fa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_is_robe.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_is_robe.nss b/cep_blueprints/_hak/prc_add_sb/zep_is_robe.nss new file mode 100644 index 0000000..0e40190 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_is_robe.nss @@ -0,0 +1,6 @@ +int StartingConditional() +{ + if (GetLocalInt(GetPCSpeaker(),"ZEP_CR_PART")==ITEM_APPR_ARMOR_MODEL_ROBE) + return TRUE; + else return FALSE; +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_jackalope.utc b/cep_blueprints/_hak/prc_add_sb/zep_jackalope.utc new file mode 100644 index 0000000..e00850f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_jackalope.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_jagre.utc b/cep_blueprints/_hak/prc_add_sb/zep_jagre.utc new file mode 100644 index 0000000..a1e122f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_jagre.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_jckolntrn001.utp b/cep_blueprints/_hak/prc_add_sb/zep_jckolntrn001.utp new file mode 100644 index 0000000..90874fc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_jckolntrn001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_jckolntrn002.utp b/cep_blueprints/_hak/prc_add_sb/zep_jckolntrn002.utp new file mode 100644 index 0000000..f97c0b4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_jckolntrn002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_jckolntrn003.utp b/cep_blueprints/_hak/prc_add_sb/zep_jckolntrn003.utp new file mode 100644 index 0000000..19cf96a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_jckolntrn003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_jckolntrn004.utp b/cep_blueprints/_hak/prc_add_sb/zep_jckolntrn004.utp new file mode 100644 index 0000000..764eb80 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_jckolntrn004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_jian.uti b/cep_blueprints/_hak/prc_add_sb/zep_jian.uti new file mode 100644 index 0000000..5ca15f3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_jian.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_jitte.uti b/cep_blueprints/_hak/prc_add_sb/zep_jitte.uti new file mode 100644 index 0000000..9f1b439 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_jitte.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_jug01.utp b/cep_blueprints/_hak/prc_add_sb/zep_jug01.utp new file mode 100644 index 0000000..d8ff012 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_jug01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_jug02.utp b/cep_blueprints/_hak/prc_add_sb/zep_jug02.utp new file mode 100644 index 0000000..c637a93 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_jug02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_katar.uti b/cep_blueprints/_hak/prc_add_sb/zep_katar.uti new file mode 100644 index 0000000..8df7eb2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_katar.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_katnadnsu001.utp b/cep_blueprints/_hak/prc_add_sb/zep_katnadnsu001.utp new file mode 100644 index 0000000..8659158 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_katnadnsu001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_katnadnsu002.utp b/cep_blueprints/_hak/prc_add_sb/zep_katnadnsu002.utp new file mode 100644 index 0000000..c7d4a45 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_katnadnsu002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_keenrapier.uti b/cep_blueprints/_hak/prc_add_sb/zep_keenrapier.uti new file mode 100644 index 0000000..ee11c06 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_keenrapier.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kenku_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_kenku_001.utc new file mode 100644 index 0000000..0c26084 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kenku_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kenku_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_kenku_002.utc new file mode 100644 index 0000000..14802c6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kenku_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kenku_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_kenku_003.utc new file mode 100644 index 0000000..a32c260 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kenku_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kenku_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_kenku_004.utc new file mode 100644 index 0000000..f094532 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kenku_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kenku_fem.utc b/cep_blueprints/_hak/prc_add_sb/zep_kenku_fem.utc new file mode 100644 index 0000000..80f24d2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kenku_fem.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kenku_hev.utc b/cep_blueprints/_hak/prc_add_sb/zep_kenku_hev.utc new file mode 100644 index 0000000..8b74763 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kenku_hev.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kimchijars01.utp b/cep_blueprints/_hak/prc_add_sb/zep_kimchijars01.utp new file mode 100644 index 0000000..bd15e4e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kimchijars01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kimchijars02.utp b/cep_blueprints/_hak/prc_add_sb/zep_kimchijars02.utp new file mode 100644 index 0000000..c2b682b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kimchijars02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kimono.uti b/cep_blueprints/_hak/prc_add_sb/zep_kimono.uti new file mode 100644 index 0000000..574e5b6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kimono.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kimono2.uti b/cep_blueprints/_hak/prc_add_sb/zep_kimono2.uti new file mode 100644 index 0000000..4fd8e99 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kimono2.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kimono3.uti b/cep_blueprints/_hak/prc_add_sb/zep_kimono3.uti new file mode 100644 index 0000000..9f8260f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kimono3.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_knife01.utp b/cep_blueprints/_hak/prc_add_sb/zep_knife01.utp new file mode 100644 index 0000000..876ba47 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_knife01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_knife02.utp b/cep_blueprints/_hak/prc_add_sb/zep_knife02.utp new file mode 100644 index 0000000..3608ff6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_knife02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_knightarm2.uti b/cep_blueprints/_hak/prc_add_sb/zep_knightarm2.uti new file mode 100644 index 0000000..1ee0f86 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_knightarm2.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_knightarm3.uti b/cep_blueprints/_hak/prc_add_sb/zep_knightarm3.uti new file mode 100644 index 0000000..a8c57d8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_knightarm3.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_knightarm4.uti b/cep_blueprints/_hak/prc_add_sb/zep_knightarm4.uti new file mode 100644 index 0000000..856871c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_knightarm4.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_knightarm5.uti b/cep_blueprints/_hak/prc_add_sb/zep_knightarm5.uti new file mode 100644 index 0000000..affe301 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_knightarm5.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_knightarm6.uti b/cep_blueprints/_hak/prc_add_sb/zep_knightarm6.uti new file mode 100644 index 0000000..9311e2b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_knightarm6.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_knightarmor.uti b/cep_blueprints/_hak/prc_add_sb/zep_knightarmor.uti new file mode 100644 index 0000000..2a3ce72 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_knightarmor.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_koboldfly.utc b/cep_blueprints/_hak/prc_add_sb/zep_koboldfly.utc new file mode 100644 index 0000000..4bccb7d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_koboldfly.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_koboldfly2.utc b/cep_blueprints/_hak/prc_add_sb/zep_koboldfly2.utc new file mode 100644 index 0000000..c1d7d7e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_koboldfly2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_koboldfly3.utc b/cep_blueprints/_hak/prc_add_sb/zep_koboldfly3.utc new file mode 100644 index 0000000..b2b38ab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_koboldfly3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_koboldfly4.utc b/cep_blueprints/_hak/prc_add_sb/zep_koboldfly4.utc new file mode 100644 index 0000000..7d592c9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_koboldfly4.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_koboldfly5.utc b/cep_blueprints/_hak/prc_add_sb/zep_koboldfly5.utc new file mode 100644 index 0000000..1d6729a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_koboldfly5.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_koboldfly6.utc b/cep_blueprints/_hak/prc_add_sb/zep_koboldfly6.utc new file mode 100644 index 0000000..68dd2d1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_koboldfly6.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kocrachn.utc b/cep_blueprints/_hak/prc_add_sb/zep_kocrachn.utc new file mode 100644 index 0000000..5a30268 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kocrachn.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ktoa_prop.uti b/cep_blueprints/_hak/prc_add_sb/zep_ktoa_prop.uti new file mode 100644 index 0000000..bdc7bbd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ktoa_prop.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kuotoa_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_kuotoa_001.utc new file mode 100644 index 0000000..0bbcd1a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kuotoa_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kuotoa_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_kuotoa_002.utc new file mode 100644 index 0000000..5b51edf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kuotoa_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kuotoa_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_kuotoa_003.utc new file mode 100644 index 0000000..611d364 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kuotoa_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kuotoa_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_kuotoa_004.utc new file mode 100644 index 0000000..5212b51 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kuotoa_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kuotoa_005.utc b/cep_blueprints/_hak/prc_add_sb/zep_kuotoa_005.utc new file mode 100644 index 0000000..47a8234 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kuotoa_005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kusari.uti b/cep_blueprints/_hak/prc_add_sb/zep_kusari.uti new file mode 100644 index 0000000..9989000 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kusari.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kwandao.uti b/cep_blueprints/_hak/prc_add_sb/zep_kwandao.uti new file mode 100644 index 0000000..f99bf8d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kwandao.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kyoht1.utc b/cep_blueprints/_hak/prc_add_sb/zep_kyoht1.utc new file mode 100644 index 0000000..0813d99 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kyoht1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kyoht2.utc b/cep_blueprints/_hak/prc_add_sb/zep_kyoht2.utc new file mode 100644 index 0000000..5eb78dd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kyoht2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kyoht3.utc b/cep_blueprints/_hak/prc_add_sb/zep_kyoht3.utc new file mode 100644 index 0000000..f78f950 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kyoht3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kyoht4.utc b/cep_blueprints/_hak/prc_add_sb/zep_kyoht4.utc new file mode 100644 index 0000000..c18eb15 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kyoht4.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_kyoht5.utc b/cep_blueprints/_hak/prc_add_sb/zep_kyoht5.utc new file mode 100644 index 0000000..f0f9ad2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_kyoht5.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_la_c2_thorny.ncs b/cep_blueprints/_hak/prc_add_sb/zep_la_c2_thorny.ncs new file mode 100644 index 0000000..f735cf7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_la_c2_thorny.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_la_c2_thorny.nss b/cep_blueprints/_hak/prc_add_sb/zep_la_c2_thorny.nss new file mode 100644 index 0000000..93f743b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_la_c2_thorny.nss @@ -0,0 +1,75 @@ +//:://///////////////////////////////////////////// +//:: Default: On Spawn In +//:: NW_C2_DEFAULT9 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 25, 2001 +//::////////////////////////////////////////////// +#include "NW_O2_CONINCLUDE" +#include "NW_I0_GENERIC" + +void main() +{ +// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING); + //SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION); + //SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS); + //SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + +// CUSTOM USER DEFINED EVENTS +/* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 +*/ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + +// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) ***************************************************************************************** + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + GenerateNPCTreasure(); //* Use this to create a small amount of treasure on the creature +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_la_c2_vegpyg.ncs b/cep_blueprints/_hak/prc_add_sb/zep_la_c2_vegpyg.ncs new file mode 100644 index 0000000..f735cf7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_la_c2_vegpyg.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_la_c2_vegpyg.nss b/cep_blueprints/_hak/prc_add_sb/zep_la_c2_vegpyg.nss new file mode 100644 index 0000000..93f743b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_la_c2_vegpyg.nss @@ -0,0 +1,75 @@ +//:://///////////////////////////////////////////// +//:: Default: On Spawn In +//:: NW_C2_DEFAULT9 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 25, 2001 +//::////////////////////////////////////////////// +#include "NW_O2_CONINCLUDE" +#include "NW_I0_GENERIC" + +void main() +{ +// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING); + //SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION); + //SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS); + //SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + +// CUSTOM USER DEFINED EVENTS +/* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 +*/ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + +// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) ***************************************************************************************** + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + GenerateNPCTreasure(); //* Use this to create a small amount of treasure on the creature +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ladder.utp b/cep_blueprints/_hak/prc_add_sb/zep_ladder.utp new file mode 100644 index 0000000..90d1429 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ladder.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ladder001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ladder001.utp new file mode 100644 index 0000000..8952e93 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ladder001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ladder002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ladder002.utp new file mode 100644 index 0000000..d40de5b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ladder002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ladder003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ladder003.utp new file mode 100644 index 0000000..7e6c857 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ladder003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lamb_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_lamb_001.utc new file mode 100644 index 0000000..a605b4b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lamb_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lamb_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_lamb_002.utc new file mode 100644 index 0000000..4950a72 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lamb_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lamellar.uti b/cep_blueprints/_hak/prc_add_sb/zep_lamellar.uti new file mode 100644 index 0000000..32aa712 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lamellar.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lamppost001.utp b/cep_blueprints/_hak/prc_add_sb/zep_lamppost001.utp new file mode 100644 index 0000000..a42b96b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lamppost001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lantern.ncs b/cep_blueprints/_hak/prc_add_sb/zep_lantern.ncs new file mode 100644 index 0000000..cf6fb9c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lantern.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lantern.nss b/cep_blueprints/_hak/prc_add_sb/zep_lantern.nss new file mode 100644 index 0000000..ee95240 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_lantern.nss @@ -0,0 +1,79 @@ +// Lantern Item Tag-Based Script. TAG = ZEP_LANTERN +//::///////////////////////////////////////////////// +#include "x2_inc_switches" + +void AddLight( object oCreature) +{ if( (GetStringLowerCase( GetTag( OBJECT_SELF)) != "zep_lantern") || !GetIsObjectValid( oCreature) || (GetObjectType( oCreature) != OBJECT_TYPE_CREATURE)) return; + + effect eLight = EffectVisualEffect( VFX_DUR_LIGHT_WHITE_10); + ApplyEffectToObject( DURATION_TYPE_PERMANENT, SupernaturalEffect( eLight), oCreature); +} + + +void RemoveLight( object oCreature) +{ if( !GetIsObjectValid( oCreature) || (GetObjectType( oCreature) != OBJECT_TYPE_CREATURE)) return; + + effect eLight = GetFirstEffect( oCreature); + while( GetIsEffectValid( eLight)) + { if( (GetEffectType( eLight) == EFFECT_TYPE_VISUALEFFECT) && + (GetEffectDurationType( eLight) == DURATION_TYPE_PERMANENT) && + (GetEffectSubType( eLight) == SUBTYPE_SUPERNATURAL) && + (!GetIsObjectValid( GetEffectCreator( eLight)) || (GetStringLowerCase( GetTag( GetEffectCreator( eLight))) == "zep_lantern"))) + RemoveEffect( oCreature, eLight); + + eLight = GetNextEffect( oCreature); + } +} + + +void main() +{ switch( GetUserDefinedItemEventNumber()) + { case X2_ITEM_EVENT_EQUIP: + { // The lantern was just equipped. + object oEquipper = GetPCItemLastEquippedBy(); + object oLantern = GetPCItemLastEquipped(); + if( !GetIsObjectValid( oEquipper) || !GetIsObjectValid( oLantern)) + { SetExecutedScriptReturnValue( X2_EXECUTE_SCRIPT_CONTINUE); + return; + } + + // Apply a light effect. + RemoveLight( oEquipper); + AssignCommand( oLantern, AddLight( oEquipper)); + } + SetExecutedScriptReturnValue( X2_EXECUTE_SCRIPT_END); + return; + + case X2_ITEM_EVENT_UNEQUIP: + { // The item was just un-equipped. + object oUnequipper = GetPCItemLastUnequippedBy(); + object oLantern = GetPCItemLastUnequipped(); + if( !GetIsObjectValid( oUnequipper) || !GetIsObjectValid( oLantern)) + { SetExecutedScriptReturnValue( X2_EXECUTE_SCRIPT_CONTINUE); + return; + } + + // Remove light effect + RemoveLight( oUnequipper); + } + SetExecutedScriptReturnValue( X2_EXECUTE_SCRIPT_END); + return; + + case X2_ITEM_EVENT_UNACQUIRE: + { // The item was just unacquired (dropped, sold, lost, etc). + object oOldOwner = GetModuleItemLostBy(); + object oLantern = GetModuleItemAcquired(); + object oNewOwner = GetItemPossessor( oLantern); + if( !GetIsObjectValid( oOldOwner) || !GetIsObjectValid( oLantern)) + { SetExecutedScriptReturnValue( X2_EXECUTE_SCRIPT_CONTINUE); + return; + } + + // Remove light effect + RemoveLight( oOldOwner); + } + SetExecutedScriptReturnValue( X2_EXECUTE_SCRIPT_END); + return; + } +SetExecutedScriptReturnValue( X2_EXECUTE_SCRIPT_CONTINUE); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lantern.uti b/cep_blueprints/_hak/prc_add_sb/zep_lantern.uti new file mode 100644 index 0000000..57d4ef2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lantern.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lantrnpst001.utp b/cep_blueprints/_hak/prc_add_sb/zep_lantrnpst001.utp new file mode 100644 index 0000000..eb8b0a1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lantrnpst001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_largeflag001.utp b/cep_blueprints/_hak/prc_add_sb/zep_largeflag001.utp new file mode 100644 index 0000000..38d4cd1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_largeflag001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lch_l_bite.uti b/cep_blueprints/_hak/prc_add_sb/zep_lch_l_bite.uti new file mode 100644 index 0000000..1164047 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lch_l_bite.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lch_m_bite.uti b/cep_blueprints/_hak/prc_add_sb/zep_lch_m_bite.uti new file mode 100644 index 0000000..bd7e365 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lch_m_bite.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lch_s_bite.uti b/cep_blueprints/_hak/prc_add_sb/zep_lch_s_bite.uti new file mode 100644 index 0000000..d024115 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lch_s_bite.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_leanto001.utp b/cep_blueprints/_hak/prc_add_sb/zep_leanto001.utp new file mode 100644 index 0000000..649aec9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_leanto001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_leanto002.utp b/cep_blueprints/_hak/prc_add_sb/zep_leanto002.utp new file mode 100644 index 0000000..48d94cb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_leanto002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_leech_l.utc b/cep_blueprints/_hak/prc_add_sb/zep_leech_l.utc new file mode 100644 index 0000000..2e11e40 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_leech_l.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_leech_m.utc b/cep_blueprints/_hak/prc_add_sb/zep_leech_m.utc new file mode 100644 index 0000000..f53a4cb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_leech_m.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_leech_s.utc b/cep_blueprints/_hak/prc_add_sb/zep_leech_s.utc new file mode 100644 index 0000000..1cdc233 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_leech_s.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_legendan_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_legendan_001.utc new file mode 100644 index 0000000..25da975 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_legendan_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_legendan_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_legendan_002.utc new file mode 100644 index 0000000..b3a0247 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_legendan_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_legendan_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_legendan_003.utc new file mode 100644 index 0000000..f5909f0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_legendan_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_legendan_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_legendan_004.utc new file mode 100644 index 0000000..39ad918 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_legendan_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_letterbox001.utp b/cep_blueprints/_hak/prc_add_sb/zep_letterbox001.utp new file mode 100644 index 0000000..a9fc6a1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_letterbox001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_leucrotta.utc b/cep_blueprints/_hak/prc_add_sb/zep_leucrotta.utc new file mode 100644 index 0000000..e377f43 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_leucrotta.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_leucrottab.uti b/cep_blueprints/_hak/prc_add_sb/zep_leucrottab.uti new file mode 100644 index 0000000..82f7d32 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_leucrottab.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_leucrottah.uti b/cep_blueprints/_hak/prc_add_sb/zep_leucrottah.uti new file mode 100644 index 0000000..823d9b0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_leucrottah.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_leviathan.utc b/cep_blueprints/_hak/prc_add_sb/zep_leviathan.utc new file mode 100644 index 0000000..48e2b8f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_leviathan.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lifeboat001.utp b/cep_blueprints/_hak/prc_add_sb/zep_lifeboat001.utp new file mode 100644 index 0000000..eb35a46 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lifeboat001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lightningh.utc b/cep_blueprints/_hak/prc_add_sb/zep_lightningh.utc new file mode 100644 index 0000000..0586180 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lightningh.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lightningl.utc b/cep_blueprints/_hak/prc_add_sb/zep_lightningl.utc new file mode 100644 index 0000000..96b36be Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lightningl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lightnings.utc b/cep_blueprints/_hak/prc_add_sb/zep_lightnings.utc new file mode 100644 index 0000000..084c78b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lightnings.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lightpick.uti b/cep_blueprints/_hak/prc_add_sb/zep_lightpick.uti new file mode 100644 index 0000000..9fd6e8c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lightpick.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lightpick001.uti b/cep_blueprints/_hak/prc_add_sb/zep_lightpick001.uti new file mode 100644 index 0000000..53efd85 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lightpick001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lightshft001.utp b/cep_blueprints/_hak/prc_add_sb/zep_lightshft001.utp new file mode 100644 index 0000000..32f5941 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lightshft001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lightshft002.utp b/cep_blueprints/_hak/prc_add_sb/zep_lightshft002.utp new file mode 100644 index 0000000..5c361bf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lightshft002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lightshft003.utp b/cep_blueprints/_hak/prc_add_sb/zep_lightshft003.utp new file mode 100644 index 0000000..35324e3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lightshft003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lightshft004.utp b/cep_blueprints/_hak/prc_add_sb/zep_lightshft004.utp new file mode 100644 index 0000000..4dfd25b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lightshft004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lightshft005.utp b/cep_blueprints/_hak/prc_add_sb/zep_lightshft005.utp new file mode 100644 index 0000000..7fda2ff Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lightshft005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lightshft006.utp b/cep_blueprints/_hak/prc_add_sb/zep_lightshft006.utp new file mode 100644 index 0000000..fddd74f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lightshft006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lightshft007.utp b/cep_blueprints/_hak/prc_add_sb/zep_lightshft007.utp new file mode 100644 index 0000000..f2436b9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lightshft007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lightshft008.utp b/cep_blueprints/_hak/prc_add_sb/zep_lightshft008.utp new file mode 100644 index 0000000..3c7890a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lightshft008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lily.uti b/cep_blueprints/_hak/prc_add_sb/zep_lily.uti new file mode 100644 index 0000000..48b963c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lily.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lionflag.utp b/cep_blueprints/_hak/prc_add_sb/zep_lionflag.utp new file mode 100644 index 0000000..146c404 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lionflag.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizard_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_lizard_001.utc new file mode 100644 index 0000000..9176cc1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizard_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizard_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_lizard_002.utc new file mode 100644 index 0000000..0be031a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizard_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizard_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_lizard_003.utc new file mode 100644 index 0000000..42e6a06 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizard_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizard_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_lizard_004.utc new file mode 100644 index 0000000..cf82a27 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizard_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizard_005.utc b/cep_blueprints/_hak/prc_add_sb/zep_lizard_005.utc new file mode 100644 index 0000000..3c1f0c4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizard_005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizard_006.utc b/cep_blueprints/_hak/prc_add_sb/zep_lizard_006.utc new file mode 100644 index 0000000..357332a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizard_006.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizard_007.utc b/cep_blueprints/_hak/prc_add_sb/zep_lizard_007.utc new file mode 100644 index 0000000..f0640b6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizard_007.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizard_008.utc b/cep_blueprints/_hak/prc_add_sb/zep_lizard_008.utc new file mode 100644 index 0000000..aca2e39 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizard_008.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizardflk001.utp b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk001.utp new file mode 100644 index 0000000..08f0646 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizardflk002.utp b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk002.utp new file mode 100644 index 0000000..ee1bb5e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizardflk003.utp b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk003.utp new file mode 100644 index 0000000..3d95d25 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizardflk004.utp b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk004.utp new file mode 100644 index 0000000..9e7f10c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizardflk005.utp b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk005.utp new file mode 100644 index 0000000..b67fbfa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizardflk006.utp b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk006.utp new file mode 100644 index 0000000..d3724ad Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizardflk007.utp b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk007.utp new file mode 100644 index 0000000..8bd2612 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizardflk008.utp b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk008.utp new file mode 100644 index 0000000..69df6ce Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizardflk009.utp b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk009.utp new file mode 100644 index 0000000..39f0d5a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizardflk010.utp b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk010.utp new file mode 100644 index 0000000..bf5a489 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizardflk011.utp b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk011.utp new file mode 100644 index 0000000..5409101 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizardflk012.utp b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk012.utp new file mode 100644 index 0000000..0dadaab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizardflk013.utp b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk013.utp new file mode 100644 index 0000000..0b92aee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizardflk014.utp b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk014.utp new file mode 100644 index 0000000..e6baa2d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizardflk014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizardflkcht.utp b/cep_blueprints/_hak/prc_add_sb/zep_lizardflkcht.utp new file mode 100644 index 0000000..56d6a95 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizardflkcht.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizardfolk.utc b/cep_blueprints/_hak/prc_add_sb/zep_lizardfolk.utc new file mode 100644 index 0000000..7c92c50 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizardfolk.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizardshaman.utc b/cep_blueprints/_hak/prc_add_sb/zep_lizardshaman.utc new file mode 100644 index 0000000..c645fa3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizardshaman.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizlich1.utc b/cep_blueprints/_hak/prc_add_sb/zep_lizlich1.utc new file mode 100644 index 0000000..5e59d3b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizlich1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizlich2.utc b/cep_blueprints/_hak/prc_add_sb/zep_lizlich2.utc new file mode 100644 index 0000000..17e3844 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizlich2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lizlich3.utc b/cep_blueprints/_hak/prc_add_sb/zep_lizlich3.utc new file mode 100644 index 0000000..6c0532d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lizlich3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_log001.utp b/cep_blueprints/_hak/prc_add_sb/zep_log001.utp new file mode 100644 index 0000000..15570f9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_log001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_logsit001.utp b/cep_blueprints/_hak/prc_add_sb/zep_logsit001.utp new file mode 100644 index 0000000..9f9e48b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_logsit001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lokkukri.uti b/cep_blueprints/_hak/prc_add_sb/zep_lokkukri.uti new file mode 100644 index 0000000..7792f39 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lokkukri.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lolth.utc b/cep_blueprints/_hak/prc_add_sb/zep_lolth.utc new file mode 100644 index 0000000..9b9a132 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lolth.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lowbed001.utp b/cep_blueprints/_hak/prc_add_sb/zep_lowbed001.utp new file mode 100644 index 0000000..70c8507 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lowbed001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lowbed002.utp b/cep_blueprints/_hak/prc_add_sb/zep_lowbed002.utp new file mode 100644 index 0000000..bedc4bb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lowbed002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lowbed003.utp b/cep_blueprints/_hak/prc_add_sb/zep_lowbed003.utp new file mode 100644 index 0000000..6ba69a0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lowbed003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lowbed004.utp b/cep_blueprints/_hak/prc_add_sb/zep_lowbed004.utp new file mode 100644 index 0000000..5e1331a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lowbed004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lowsewer.utp b/cep_blueprints/_hak/prc_add_sb/zep_lowsewer.utp new file mode 100644 index 0000000..5aeb206 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lowsewer.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lowwater.utp b/cep_blueprints/_hak/prc_add_sb/zep_lowwater.utp new file mode 100644 index 0000000..041e8f3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lowwater.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lshldek_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_lshldek_001.uti new file mode 100644 index 0000000..fa3cb5f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lshldek_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lupinal1.utc b/cep_blueprints/_hak/prc_add_sb/zep_lupinal1.utc new file mode 100644 index 0000000..e94fa5c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lupinal1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lupinal2.utc b/cep_blueprints/_hak/prc_add_sb/zep_lupinal2.utc new file mode 100644 index 0000000..7b26b8d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lupinal2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lupinal3.utc b/cep_blueprints/_hak/prc_add_sb/zep_lupinal3.utc new file mode 100644 index 0000000..9a73727 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lupinal3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lupinal4.utc b/cep_blueprints/_hak/prc_add_sb/zep_lupinal4.utc new file mode 100644 index 0000000..78640c0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lupinal4.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lupinal5.utc b/cep_blueprints/_hak/prc_add_sb/zep_lupinal5.utc new file mode 100644 index 0000000..86a514e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lupinal5.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lupinal6.utc b/cep_blueprints/_hak/prc_add_sb/zep_lupinal6.utc new file mode 100644 index 0000000..4b5b5ce Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lupinal6.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lupinal7.utc b/cep_blueprints/_hak/prc_add_sb/zep_lupinal7.utc new file mode 100644 index 0000000..d1695ef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lupinal7.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lupinal8.utc b/cep_blueprints/_hak/prc_add_sb/zep_lupinal8.utc new file mode 100644 index 0000000..c3361dd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lupinal8.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lute.uti b/cep_blueprints/_hak/prc_add_sb/zep_lute.uti new file mode 100644 index 0000000..f391e9f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lute.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lute.utp b/cep_blueprints/_hak/prc_add_sb/zep_lute.utp new file mode 100644 index 0000000..5913c9c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lute.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lute001.utp b/cep_blueprints/_hak/prc_add_sb/zep_lute001.utp new file mode 100644 index 0000000..69f30cd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lute001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lwhill.utc b/cep_blueprints/_hak/prc_add_sb/zep_lwhill.utc new file mode 100644 index 0000000..aa204fd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lwhill.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lwjungle.utc b/cep_blueprints/_hak/prc_add_sb/zep_lwjungle.utc new file mode 100644 index 0000000..8da3741 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lwjungle.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_lwtundra.utc b/cep_blueprints/_hak/prc_add_sb/zep_lwtundra.utc new file mode 100644 index 0000000..9a92b97 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_lwtundra.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_madonnawndow.utp b/cep_blueprints/_hak/prc_add_sb/zep_madonnawndow.utp new file mode 100644 index 0000000..2ad7a63 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_madonnawndow.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_maelclaw.uti b/cep_blueprints/_hak/prc_add_sb/zep_maelclaw.uti new file mode 100644 index 0000000..cba413e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_maelclaw.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_maelephant.utc b/cep_blueprints/_hak/prc_add_sb/zep_maelephant.utc new file mode 100644 index 0000000..c6b3abc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_maelephant.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_maelskin.uti b/cep_blueprints/_hak/prc_add_sb/zep_maelskin.uti new file mode 100644 index 0000000..0b3a741 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_maelskin.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_maeltrunk.uti b/cep_blueprints/_hak/prc_add_sb/zep_maeltrunk.uti new file mode 100644 index 0000000..73bef8f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_maeltrunk.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_magicmouth01.utp b/cep_blueprints/_hak/prc_add_sb/zep_magicmouth01.utp new file mode 100644 index 0000000..157da31 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_magicmouth01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_magicmth002.utp b/cep_blueprints/_hak/prc_add_sb/zep_magicmth002.utp new file mode 100644 index 0000000..7e69066 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_magicmth002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_magicmth003.utp b/cep_blueprints/_hak/prc_add_sb/zep_magicmth003.utp new file mode 100644 index 0000000..75726c0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_magicmth003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_magicmth004.utp b/cep_blueprints/_hak/prc_add_sb/zep_magicmth004.utp new file mode 100644 index 0000000..132f053 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_magicmth004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_magicmth005.utp b/cep_blueprints/_hak/prc_add_sb/zep_magicmth005.utp new file mode 100644 index 0000000..5a92296 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_magicmth005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_magicmth006.utp b/cep_blueprints/_hak/prc_add_sb/zep_magicmth006.utp new file mode 100644 index 0000000..5ad3d2e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_magicmth006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_magicmth007.utp b/cep_blueprints/_hak/prc_add_sb/zep_magicmth007.utp new file mode 100644 index 0000000..86f7ac1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_magicmth007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_magicmth008.utp b/cep_blueprints/_hak/prc_add_sb/zep_magicmth008.utp new file mode 100644 index 0000000..8dbd315 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_magicmth008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_magicmth009.utp b/cep_blueprints/_hak/prc_add_sb/zep_magicmth009.utp new file mode 100644 index 0000000..46d31ae Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_magicmth009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_malekid002.utc b/cep_blueprints/_hak/prc_add_sb/zep_malekid002.utc new file mode 100644 index 0000000..b8cc169 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_malekid002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_malekid003.utc b/cep_blueprints/_hak/prc_add_sb/zep_malekid003.utc new file mode 100644 index 0000000..1baea55 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_malekid003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_malekid004.utc b/cep_blueprints/_hak/prc_add_sb/zep_malekid004.utc new file mode 100644 index 0000000..0a44cfe Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_malekid004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_malekid005.utc b/cep_blueprints/_hak/prc_add_sb/zep_malekid005.utc new file mode 100644 index 0000000..4c25976 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_malekid005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_malekid1.utc b/cep_blueprints/_hak/prc_add_sb/zep_malekid1.utc new file mode 100644 index 0000000..2e16ec6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_malekid1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_manchains.utp b/cep_blueprints/_hak/prc_add_sb/zep_manchains.utp new file mode 100644 index 0000000..f44dae9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_manchains.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mane.utc b/cep_blueprints/_hak/prc_add_sb/zep_mane.utc new file mode 100644 index 0000000..67f37c1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mane.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mane2.utc b/cep_blueprints/_hak/prc_add_sb/zep_mane2.utc new file mode 100644 index 0000000..2683e02 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mane2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mane3.utc b/cep_blueprints/_hak/prc_add_sb/zep_mane3.utc new file mode 100644 index 0000000..00bcdf7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mane3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mangonneau.utp b/cep_blueprints/_hak/prc_add_sb/zep_mangonneau.utp new file mode 100644 index 0000000..5ebec81 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mangonneau.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_manriki.uti b/cep_blueprints/_hak/prc_add_sb/zep_manriki.uti new file mode 100644 index 0000000..449a2ce Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_manriki.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_manstocks.utp b/cep_blueprints/_hak/prc_add_sb/zep_manstocks.utp new file mode 100644 index 0000000..cf9fa87 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_manstocks.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_manticore.utc b/cep_blueprints/_hak/prc_add_sb/zep_manticore.utc new file mode 100644 index 0000000..735b166 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_manticore.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mantisflag.utp b/cep_blueprints/_hak/prc_add_sb/zep_mantisflag.utp new file mode 100644 index 0000000..31f0d3a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mantisflag.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mantlet.utp b/cep_blueprints/_hak/prc_add_sb/zep_mantlet.utp new file mode 100644 index 0000000..16391d4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mantlet.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_maple001.utp b/cep_blueprints/_hak/prc_add_sb/zep_maple001.utp new file mode 100644 index 0000000..b8df9a9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_maple001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_maple002.utp b/cep_blueprints/_hak/prc_add_sb/zep_maple002.utp new file mode 100644 index 0000000..a226279 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_maple002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_maple003.utp b/cep_blueprints/_hak/prc_add_sb/zep_maple003.utp new file mode 100644 index 0000000..f928272 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_maple003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_maple004.utp b/cep_blueprints/_hak/prc_add_sb/zep_maple004.utp new file mode 100644 index 0000000..82e0b4d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_maple004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_maple005.utp b/cep_blueprints/_hak/prc_add_sb/zep_maple005.utp new file mode 100644 index 0000000..4e60cfe Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_maple005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_maple006.utp b/cep_blueprints/_hak/prc_add_sb/zep_maple006.utp new file mode 100644 index 0000000..5b8f8c5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_maple006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_maple007.utp b/cep_blueprints/_hak/prc_add_sb/zep_maple007.utp new file mode 100644 index 0000000..77049c3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_maple007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_maple008.utp b/cep_blueprints/_hak/prc_add_sb/zep_maple008.utp new file mode 100644 index 0000000..93659d0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_maple008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_maple009.utp b/cep_blueprints/_hak/prc_add_sb/zep_maple009.utp new file mode 100644 index 0000000..af5dd0d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_maple009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_marilith.utc b/cep_blueprints/_hak/prc_add_sb/zep_marilith.utc new file mode 100644 index 0000000..d354e72 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_marilith.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_marilith_end.ncs b/cep_blueprints/_hak/prc_add_sb/zep_marilith_end.ncs new file mode 100644 index 0000000..7a3fe2e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_marilith_end.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_marilith_end.nss b/cep_blueprints/_hak/prc_add_sb/zep_marilith_end.nss new file mode 100644 index 0000000..f942d20 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_marilith_end.nss @@ -0,0 +1,32 @@ +//File name: zep_marilith_end +//Usage/Description: OnCombatRound End script for Marilith. + +#include "zep_inc_scrptdlg" + +void main() +{ + object oTarget = GetAttackTarget(); + int nTargetAC = GetAC(oTarget); + int nRoll = d20(); + int nCrit = FALSE; + if(nRoll >= 19) //crit on natural 19-20 + { + if (d20()+8 >nTargetAC) + { + nCrit = TRUE; + } + } + if(nRoll + 8 >= nTargetAC) + { + int nDamage = d8() + 2; + effect eDamage = EffectDamage(nDamage, DAMAGE_TYPE_SLASHING, DAMAGE_POWER_NORMAL); + if(nCrit == TRUE) + { + nDamage = d8(2) + 4; + eDamage = EffectDamage(nDamage, DAMAGE_TYPE_SLASHING, DAMAGE_POWER_NORMAL); + } + string sMessageToPC = GetStringByStrRef(nZEPMarilithDMG,GENDER_MALE); + SendMessageToPC(oTarget, sMessageToPC+IntToString(nDamage)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oTarget); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_marilith_spw.ncs b/cep_blueprints/_hak/prc_add_sb/zep_marilith_spw.ncs new file mode 100644 index 0000000..6f696f4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_marilith_spw.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_marilith_spw.nss b/cep_blueprints/_hak/prc_add_sb/zep_marilith_spw.nss new file mode 100644 index 0000000..9b68d59 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_marilith_spw.nss @@ -0,0 +1,6 @@ +void main() +{ + effect eMarilith = EffectModifyAttacks(5); + eMarilith = SupernaturalEffect(eMarilith); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eMarilith, OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_marilithbg.utc b/cep_blueprints/_hak/prc_add_sb/zep_marilithbg.utc new file mode 100644 index 0000000..06e03c8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_marilithbg.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_marut.utc b/cep_blueprints/_hak/prc_add_sb/zep_marut.utc new file mode 100644 index 0000000..eaca2f1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_marut.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mastodon.utc b/cep_blueprints/_hak/prc_add_sb/zep_mastodon.utc new file mode 100644 index 0000000..a28c256 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mastodon.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_maug.utc b/cep_blueprints/_hak/prc_add_sb/zep_maug.utc new file mode 100644 index 0000000..21ab97d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_maug.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_maugcap.utc b/cep_blueprints/_hak/prc_add_sb/zep_maugcap.utc new file mode 100644 index 0000000..412834a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_maugcap.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_maugcom.utc b/cep_blueprints/_hak/prc_add_sb/zep_maugcom.utc new file mode 100644 index 0000000..0100727 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_maugcom.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_maughserg.utc b/cep_blueprints/_hak/prc_add_sb/zep_maughserg.utc new file mode 100644 index 0000000..5ac5b70 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_maughserg.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mauglieu.utc b/cep_blueprints/_hak/prc_add_sb/zep_mauglieu.utc new file mode 100644 index 0000000..f233b14 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mauglieu.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mcenti_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_mcenti_001.utc new file mode 100644 index 0000000..faad511 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mcenti_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mcenti_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_mcenti_002.utc new file mode 100644 index 0000000..816afca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mcenti_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mcenti_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_mcenti_003.utc new file mode 100644 index 0000000..6b5dcff Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mcenti_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mdnnawndw001.utp b/cep_blueprints/_hak/prc_add_sb/zep_mdnnawndw001.utp new file mode 100644 index 0000000..63600f2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mdnnawndw001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mdrn_prop.uti b/cep_blueprints/_hak/prc_add_sb/zep_mdrn_prop.uti new file mode 100644 index 0000000..7d80cee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mdrn_prop.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mdron_bite.uti b/cep_blueprints/_hak/prc_add_sb/zep_mdron_bite.uti new file mode 100644 index 0000000..cab7278 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mdron_bite.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_meal.utp b/cep_blueprints/_hak/prc_add_sb/zep_meal.utp new file mode 100644 index 0000000..ff653b6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_meal.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_meat001.utp b/cep_blueprints/_hak/prc_add_sb/zep_meat001.utp new file mode 100644 index 0000000..13c2447 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_meat001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_meat002.utp b/cep_blueprints/_hak/prc_add_sb/zep_meat002.utp new file mode 100644 index 0000000..f5f81fb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_meat002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_meat003.utp b/cep_blueprints/_hak/prc_add_sb/zep_meat003.utp new file mode 100644 index 0000000..860c496 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_meat003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_meat004.utp b/cep_blueprints/_hak/prc_add_sb/zep_meat004.utp new file mode 100644 index 0000000..f1e3158 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_meat004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_meat005.utp b/cep_blueprints/_hak/prc_add_sb/zep_meat005.utp new file mode 100644 index 0000000..b801764 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_meat005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mechladder.utp b/cep_blueprints/_hak/prc_add_sb/zep_mechladder.utp new file mode 100644 index 0000000..b2327db Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mechladder.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mechspider.utc b/cep_blueprints/_hak/prc_add_sb/zep_mechspider.utc new file mode 100644 index 0000000..3de12b7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mechspider.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_meddesertvi.utc b/cep_blueprints/_hak/prc_add_sb/zep_meddesertvi.utc new file mode 100644 index 0000000..6c0e6c6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_meddesertvi.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_medforestvi.utc b/cep_blueprints/_hak/prc_add_sb/zep_medforestvi.utc new file mode 100644 index 0000000..06fbaf5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_medforestvi.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_medjunglevi.utc b/cep_blueprints/_hak/prc_add_sb/zep_medjunglevi.utc new file mode 100644 index 0000000..7986d34 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_medjunglevi.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_medswampvi.utc b/cep_blueprints/_hak/prc_add_sb/zep_medswampvi.utc new file mode 100644 index 0000000..7a1ec45 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_medswampvi.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_meenlock1.utc b/cep_blueprints/_hak/prc_add_sb/zep_meenlock1.utc new file mode 100644 index 0000000..db53a9d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_meenlock1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_meenlock2.utc b/cep_blueprints/_hak/prc_add_sb/zep_meenlock2.utc new file mode 100644 index 0000000..3b51826 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_meenlock2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_meenlock3.utc b/cep_blueprints/_hak/prc_add_sb/zep_meenlock3.utc new file mode 100644 index 0000000..f10b5cd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_meenlock3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_meenlock4.utc b/cep_blueprints/_hak/prc_add_sb/zep_meenlock4.utc new file mode 100644 index 0000000..b769b84 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_meenlock4.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_merilith2.utc b/cep_blueprints/_hak/prc_add_sb/zep_merilith2.utc new file mode 100644 index 0000000..a1a9bfa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_merilith2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mezzoloth.utc b/cep_blueprints/_hak/prc_add_sb/zep_mezzoloth.utc new file mode 100644 index 0000000..74db853 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mezzoloth.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_001.utp new file mode 100644 index 0000000..f667fdc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_002.utp new file mode 100644 index 0000000..a73c831 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_003.utp new file mode 100644 index 0000000..b074dc9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_004.utp new file mode 100644 index 0000000..a779e4c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_005.utp new file mode 100644 index 0000000..00a49a9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_006.utp new file mode 100644 index 0000000..db7fa9c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_007.utp new file mode 100644 index 0000000..2884329 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_008.utp b/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_008.utp new file mode 100644 index 0000000..5a0ccf9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mi_wpr_008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_milestone.utp b/cep_blueprints/_hak/prc_add_sb/zep_milestone.utp new file mode 100644 index 0000000..3d44b3d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_milestone.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mineroof.utp b/cep_blueprints/_hak/prc_add_sb/zep_mineroof.utp new file mode 100644 index 0000000..94ef18a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mineroof.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_minionenvy.utc b/cep_blueprints/_hak/prc_add_sb/zep_minionenvy.utc new file mode 100644 index 0000000..10afc3a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_minionenvy.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_miniongreed.utc b/cep_blueprints/_hak/prc_add_sb/zep_miniongreed.utc new file mode 100644 index 0000000..7e19494 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_miniongreed.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_minionmal.utc b/cep_blueprints/_hak/prc_add_sb/zep_minionmal.utc new file mode 100644 index 0000000..4a336e3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_minionmal.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_minionpain.utc b/cep_blueprints/_hak/prc_add_sb/zep_minionpain.utc new file mode 100644 index 0000000..54fe770 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_minionpain.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_minionsorrow.utc b/cep_blueprints/_hak/prc_add_sb/zep_minionsorrow.utc new file mode 100644 index 0000000..9ddd17f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_minionsorrow.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_minionwrath.utc b/cep_blueprints/_hak/prc_add_sb/zep_minionwrath.utc new file mode 100644 index 0000000..23fe9a3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_minionwrath.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mink.utc b/cep_blueprints/_hak/prc_add_sb/zep_mink.utc new file mode 100644 index 0000000..dec7df7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mink.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_minogon.utc b/cep_blueprints/_hak/prc_add_sb/zep_minogon.utc new file mode 100644 index 0000000..0ea975c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_minogon.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mirror.utp b/cep_blueprints/_hak/prc_add_sb/zep_mirror.utp new file mode 100644 index 0000000..2f8753a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mirror.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mirror001.utp b/cep_blueprints/_hak/prc_add_sb/zep_mirror001.utp new file mode 100644 index 0000000..b38f290 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mirror001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mirror002.utp b/cep_blueprints/_hak/prc_add_sb/zep_mirror002.utp new file mode 100644 index 0000000..27442dc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mirror002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mirror003.utp b/cep_blueprints/_hak/prc_add_sb/zep_mirror003.utp new file mode 100644 index 0000000..bae84c2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mirror003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mirror004.utp b/cep_blueprints/_hak/prc_add_sb/zep_mirror004.utp new file mode 100644 index 0000000..4b97c57 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mirror004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mirror005.utp b/cep_blueprints/_hak/prc_add_sb/zep_mirror005.utp new file mode 100644 index 0000000..ba9d95a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mirror005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mirror006.utp b/cep_blueprints/_hak/prc_add_sb/zep_mirror006.utp new file mode 100644 index 0000000..20e26e0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mirror006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mirror007.utp b/cep_blueprints/_hak/prc_add_sb/zep_mirror007.utp new file mode 100644 index 0000000..c22e366 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mirror007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_monk.uti b/cep_blueprints/_hak/prc_add_sb/zep_monk.uti new file mode 100644 index 0000000..0362d2a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_monk.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_monkeyblack.utc b/cep_blueprints/_hak/prc_add_sb/zep_monkeyblack.utc new file mode 100644 index 0000000..167b118 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_monkeyblack.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_monkeybrown.utc b/cep_blueprints/_hak/prc_add_sb/zep_monkeybrown.utc new file mode 100644 index 0000000..deeeb05 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_monkeybrown.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_monkeywhite.utc b/cep_blueprints/_hak/prc_add_sb/zep_monkeywhite.utc new file mode 100644 index 0000000..fb52bd7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_monkeywhite.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_monodrone.utc b/cep_blueprints/_hak/prc_add_sb/zep_monodrone.utc new file mode 100644 index 0000000..ad67d17 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_monodrone.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_monument001.utp b/cep_blueprints/_hak/prc_add_sb/zep_monument001.utp new file mode 100644 index 0000000..9bf8b72 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_monument001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mortarpes.utp b/cep_blueprints/_hak/prc_add_sb/zep_mortarpes.utp new file mode 100644 index 0000000..d559d2e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mortarpes.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mouse.utc b/cep_blueprints/_hak/prc_add_sb/zep_mouse.utc new file mode 100644 index 0000000..3f72f28 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mouse.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ms_flc_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ms_flc_001.utp new file mode 100644 index 0000000..504eff7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ms_flc_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_001.utp new file mode 100644 index 0000000..e9824fa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_002.utp new file mode 100644 index 0000000..3184763 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_003.utp new file mode 100644 index 0000000..602eb10 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_004.utp new file mode 100644 index 0000000..9c83af0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_005.utp new file mode 100644 index 0000000..e957dc9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_006.utp new file mode 100644 index 0000000..798785a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_007.utp new file mode 100644 index 0000000..51a320f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_008.utp b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_008.utp new file mode 100644 index 0000000..3539eb3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_009.utp b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_009.utp new file mode 100644 index 0000000..dfda373 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_010.utp b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_010.utp new file mode 100644 index 0000000..7c93810 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_011.utp b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_011.utp new file mode 100644 index 0000000..288ce5e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ms_flp_011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mscorpg.utc b/cep_blueprints/_hak/prc_add_sb/zep_mscorpg.utc new file mode 100644 index 0000000..75678e6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mscorpg.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mscorph.utc b/cep_blueprints/_hak/prc_add_sb/zep_mscorph.utc new file mode 100644 index 0000000..85be155 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mscorph.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mscorpm.utc b/cep_blueprints/_hak/prc_add_sb/zep_mscorpm.utc new file mode 100644 index 0000000..e43e7df Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mscorpm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mscorps.utc b/cep_blueprints/_hak/prc_add_sb/zep_mscorps.utc new file mode 100644 index 0000000..bc9db21 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mscorps.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mspiderg.utc b/cep_blueprints/_hak/prc_add_sb/zep_mspiderg.utc new file mode 100644 index 0000000..ff68384 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mspiderg.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mspiderl.utc b/cep_blueprints/_hak/prc_add_sb/zep_mspiderl.utc new file mode 100644 index 0000000..c4ba2a0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mspiderl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mspiderm.utc b/cep_blueprints/_hak/prc_add_sb/zep_mspiderm.utc new file mode 100644 index 0000000..e696509 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mspiderm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mspiders.utc b/cep_blueprints/_hak/prc_add_sb/zep_mspiders.utc new file mode 100644 index 0000000..3919c50 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mspiders.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mspidert.utc b/cep_blueprints/_hak/prc_add_sb/zep_mspidert.utc new file mode 100644 index 0000000..3f86e8a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mspidert.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mug_01.uti b/cep_blueprints/_hak/prc_add_sb/zep_mug_01.uti new file mode 100644 index 0000000..822bda5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mug_01.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mug_02.uti b/cep_blueprints/_hak/prc_add_sb/zep_mug_02.uti new file mode 100644 index 0000000..f463059 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mug_02.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mug_03.uti b/cep_blueprints/_hak/prc_add_sb/zep_mug_03.uti new file mode 100644 index 0000000..348a600 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mug_03.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mug_04.uti b/cep_blueprints/_hak/prc_add_sb/zep_mug_04.uti new file mode 100644 index 0000000..e2281c8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mug_04.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mushroom.utp b/cep_blueprints/_hak/prc_add_sb/zep_mushroom.utp new file mode 100644 index 0000000..fed3b35 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mushroom.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mushroom001.utp b/cep_blueprints/_hak/prc_add_sb/zep_mushroom001.utp new file mode 100644 index 0000000..ec44c4a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mushroom001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mushroom002.utp b/cep_blueprints/_hak/prc_add_sb/zep_mushroom002.utp new file mode 100644 index 0000000..89b9235 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mushroom002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mushroom003.utp b/cep_blueprints/_hak/prc_add_sb/zep_mushroom003.utp new file mode 100644 index 0000000..2ed1e57 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mushroom003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mushroom004.utp b/cep_blueprints/_hak/prc_add_sb/zep_mushroom004.utp new file mode 100644 index 0000000..d4c2beb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mushroom004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mushroom005.utp b/cep_blueprints/_hak/prc_add_sb/zep_mushroom005.utp new file mode 100644 index 0000000..4dc5973 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mushroom005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mushroom006.utp b/cep_blueprints/_hak/prc_add_sb/zep_mushroom006.utp new file mode 100644 index 0000000..3ba10ba Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mushroom006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_musicstnd001.utp b/cep_blueprints/_hak/prc_add_sb/zep_musicstnd001.utp new file mode 100644 index 0000000..0402b7c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_musicstnd001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_musicstnd002.utp b/cep_blueprints/_hak/prc_add_sb/zep_musicstnd002.utp new file mode 100644 index 0000000..d8dd3bf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_musicstnd002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mustardjell.utc b/cep_blueprints/_hak/prc_add_sb/zep_mustardjell.utc new file mode 100644 index 0000000..976dc30 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mustardjell.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mustardjelm.utc b/cep_blueprints/_hak/prc_add_sb/zep_mustardjelm.utc new file mode 100644 index 0000000..00bd272 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mustardjelm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_mustardjels.utc b/cep_blueprints/_hak/prc_add_sb/zep_mustardjels.utc new file mode 100644 index 0000000..bdfbc56 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_mustardjels.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_myconid.utc b/cep_blueprints/_hak/prc_add_sb/zep_myconid.utc new file mode 100644 index 0000000..4a97061 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_myconid.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_myconidking.utc b/cep_blueprints/_hak/prc_add_sb/zep_myconidking.utc new file mode 100644 index 0000000..5fd4268 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_myconidking.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_myconidspro.utc b/cep_blueprints/_hak/prc_add_sb/zep_myconidspro.utc new file mode 100644 index 0000000..8beba19 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_myconidspro.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_nabassu.utc b/cep_blueprints/_hak/prc_add_sb/zep_nabassu.utc new file mode 100644 index 0000000..05abf18 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_nabassu.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_nagamaki.uti b/cep_blueprints/_hak/prc_add_sb/zep_nagamaki.uti new file mode 100644 index 0000000..d2289cb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_nagamaki.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_naginata.uti b/cep_blueprints/_hak/prc_add_sb/zep_naginata.uti new file mode 100644 index 0000000..96a05a1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_naginata.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_necro_ring.uti b/cep_blueprints/_hak/prc_add_sb/zep_necro_ring.uti new file mode 100644 index 0000000..8bbfe85 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_necro_ring.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_nhag_amul.uti b/cep_blueprints/_hak/prc_add_sb/zep_nhag_amul.uti new file mode 100644 index 0000000..937327f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_nhag_amul.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_nhag_bite.uti b/cep_blueprints/_hak/prc_add_sb/zep_nhag_bite.uti new file mode 100644 index 0000000..638b070 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_nhag_bite.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_nhag_prop.uti b/cep_blueprints/_hak/prc_add_sb/zep_nhag_prop.uti new file mode 100644 index 0000000..358fc70 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_nhag_prop.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_nighthag.utc b/cep_blueprints/_hak/prc_add_sb/zep_nighthag.utc new file mode 100644 index 0000000..6b49853 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_nighthag.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_nightmare.utc b/cep_blueprints/_hak/prc_add_sb/zep_nightmare.utc new file mode 100644 index 0000000..64320d0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_nightmare.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ninjato.uti b/cep_blueprints/_hak/prc_add_sb/zep_ninjato.uti new file mode 100644 index 0000000..5bc699b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ninjato.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_nodachi.uti b/cep_blueprints/_hak/prc_add_sb/zep_nodachi.uti new file mode 100644 index 0000000..02b1aa3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_nodachi.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_not_robe.ncs b/cep_blueprints/_hak/prc_add_sb/zep_not_robe.ncs new file mode 100644 index 0000000..8ceb460 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_not_robe.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_not_robe.nss b/cep_blueprints/_hak/prc_add_sb/zep_not_robe.nss new file mode 100644 index 0000000..f48810e --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_not_robe.nss @@ -0,0 +1,6 @@ +int StartingConditional() +{ + if (GetLocalInt(GetPCSpeaker(),"ZEP_CR_PART")!=ITEM_APPR_ARMOR_MODEL_ROBE) + return TRUE; + else return FALSE; +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_notes001.utp b/cep_blueprints/_hak/prc_add_sb/zep_notes001.utp new file mode 100644 index 0000000..0a6da78 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_notes001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_noticebrd001.utp b/cep_blueprints/_hak/prc_add_sb/zep_noticebrd001.utp new file mode 100644 index 0000000..53cedd4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_noticebrd001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_npcking.utc b/cep_blueprints/_hak/prc_add_sb/zep_npcking.utc new file mode 100644 index 0000000..a0c348e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_npcking.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_nunchaku.uti b/cep_blueprints/_hak/prc_add_sb/zep_nunchaku.uti new file mode 100644 index 0000000..ebe6466 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_nunchaku.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_o0_death.ncs b/cep_blueprints/_hak/prc_add_sb/zep_o0_death.ncs new file mode 100644 index 0000000..7bf98d4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_o0_death.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_o0_death.nss b/cep_blueprints/_hak/prc_add_sb/zep_o0_death.nss new file mode 100644 index 0000000..cb9c4fc --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_o0_death.nss @@ -0,0 +1,255 @@ +//:://///////////////////////////////////////////// +//:: Death Script +//:: NW_O0_DEATH.NSS +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + This script handles the default behavior + that occurs when a player dies. + + BK: October 8 2002: Overriden for Expansion + + Deva Winblood: Feb 9th, 2008: Modified to + handle dismounts when PC dies while mounted. + +*/ +//::////////////////////////////////////////////// +//:: Created By: Brent Knowles +//:: Created On: November 6, 2001 +//::////////////////////////////////////////////// + +#include "x3_inc_horse" +#include "zep_inc_phenos" +#include "x2_inc_switches" + + /* +void ClearAllFactionMembers(object oMember, object oPlayer) +{ +// AssignCommand(oMember, SpeakString("here")); + AdjustReputation(oPlayer, oMember, 100); + SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad + object oClear = GetFirstFactionMember(oMember, FALSE); + while (GetIsObjectValid(oClear) == TRUE) + { + ClearPersonalReputation(oPlayer, oClear); + oClear = GetNextFactionMember(oMember, FALSE); + } +} */ +void Raise(object oPlayer) +{ + effect eVisual = EffectVisualEffect(VFX_IMP_RESTORATION); + + effect eBad = GetFirstEffect(oPlayer); + ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oPlayer); + ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oPlayer)), oPlayer); + + //Search for negative effects + while(GetIsEffectValid(eBad)) + { + if (GetEffectType(eBad) == EFFECT_TYPE_ABILITY_DECREASE || + GetEffectType(eBad) == EFFECT_TYPE_AC_DECREASE || + GetEffectType(eBad) == EFFECT_TYPE_ATTACK_DECREASE || + GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_DECREASE || + GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE || + GetEffectType(eBad) == EFFECT_TYPE_SAVING_THROW_DECREASE || + GetEffectType(eBad) == EFFECT_TYPE_SPELL_RESISTANCE_DECREASE || + GetEffectType(eBad) == EFFECT_TYPE_SKILL_DECREASE || + GetEffectType(eBad) == EFFECT_TYPE_BLINDNESS || + GetEffectType(eBad) == EFFECT_TYPE_DEAF || + GetEffectType(eBad) == EFFECT_TYPE_PARALYZE || + GetEffectType(eBad) == EFFECT_TYPE_NEGATIVELEVEL) + { + //Remove effect if it is negative. + RemoveEffect(oPlayer, eBad); + } + eBad = GetNextEffect(oPlayer); + } + //Fire cast spell at event for the specified target + SignalEvent(oPlayer, EventSpellCastAt(OBJECT_SELF, SPELL_RESTORATION, FALSE)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisual, oPlayer); +} + + + +///////////////////////////////////////////////////////////////[ MAIN ]///////// +void main() +{ + object oPlayer = GetLastPlayerDied(); +////////////////////////////////////////////////////////////////////////////// + //zep_Dismount (oPlayer, "horse_dismt");//DISMOUNT the dead player + //SetLocalInt(oPlayer, "VAR_HORSEMOUNT", 0);//horselord class variable + //string sResRef = GetLocalString(oPlayer,"PONY_ID"); + if (GetLocalInt(oPlayer, "VAR_HORSEMOUNT")== 1) + { + zep_Dismount (oPlayer, "horse_dismt"); + SetLocalInt(oPlayer,"bX3_IS_MOUNTED",FALSE); + DeleteLocalString(oPlayer,"X3_HORSE_SCRIPT_DISMOUNT"); + SetLocalInt(oPlayer, "VAR_HORSEMOUNT", 0);//horselord class variable + //remove horse support DLA Style + object oRider=GetLastPlayerDied(); + + DelayCommand(1.0, HORSE_SupportOriginalSpeed(oRider)); + DelayCommand(1.0, HORSE_SupportRemoveMountedSkillDecreases(oRider)); + DelayCommand(1.0, HORSE_SupportRemoveACBonus(oRider)); + DelayCommand(1.0, HORSE_SupportRemoveHPBonus(oRider)); + + object oTarget; + location lPc = GetLocation(oPlayer); + location lWyrmling = GetItemActivatedTargetLocation(); + + //object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, sResRef, lPc, TRUE); + } +///////////////////////////////////////////////////////////////////////////////// + //object oPlayer = GetLastPlayerDied(); + object oHorse; + object oInventory; + string sID; + int nC; + string sT; + string sR; + int nCH; + int nST; + object oItem; + effect eEffect; + string sDB="X3SADDLEBAG"+GetTag(GetModule()); + if (GetStringLength(GetLocalString(GetModule(),"X3_SADDLEBAG_DATABASE"))>0) sDB=GetLocalString(GetModule(),"X3_SADDLEBAG_DATABASE"); + if (HorseGetIsMounted(oPlayer)) + { // Dismount and then die + //SetCommandable(FALSE,oPlayer); + //ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oPlayer); + DelayCommand(0.5,HORSE_SupportResetUnmountedAppearance(oPlayer)); + DelayCommand(1.0,HORSE_SupportCleanVariables(oPlayer)); + DelayCommand(1.1,HORSE_SupportRemoveACBonus(oPlayer)); + DelayCommand(1.2,HORSE_SupportRemoveHPBonus(oPlayer)); + DelayCommand(1.3,HORSE_SupportRemoveMountedSkillDecreases(oPlayer)); + DelayCommand(1.4,HORSE_SupportAdjustMountedArcheryPenalty(oPlayer)); + DelayCommand(1.5,HORSE_SupportOriginalSpeed(oPlayer)); + if (!GetLocalInt(GetModule(),"X3_HORSE_NO_CORPSES")) + { // okay to create lootable horse corpses + sR=GetLocalString(oPlayer,"sX3_HorseResRef"); + sT=GetLocalString(oPlayer,"sX3_HorseTag"); + nCH=GetLocalInt(oPlayer,"nX3_HorseAppearance"); + nST=GetLocalInt(oPlayer,"nX3_HorseTail"); + nC=GetLocalInt(oPlayer,"nX3_HorsePortrait"); + if (GetStringLength(sR)>0&&GetStringLeft(sR,GetStringLength(HORSE_PALADIN_PREFIX))!=HORSE_PALADIN_PREFIX) + { // create horse + oHorse=HorseCreateHorse(sR,GetLocation(oPlayer),oPlayer,sT,nCH,nST); + SetLootable(oHorse,TRUE); + SetPortraitId(oHorse,nC); + SetLocalInt(oHorse,"bDie",TRUE); + AssignCommand(oHorse,SetIsDestroyable(FALSE,TRUE,TRUE)); + } // create horse + } // okay to create lootable horse corpses + oInventory=GetLocalObject(oPlayer,"oX3_Saddlebags"); + sID=GetLocalString(oPlayer,"sDB_Inv"); + if (GetIsObjectValid(oInventory)) + { // drop horse saddlebags + if (!GetIsObjectValid(oHorse)) + { // no horse created + HORSE_SupportTransferInventory(oInventory,OBJECT_INVALID,GetLocation(oPlayer),TRUE); + } // no horse created + else + { // transfer to horse + HORSE_SupportTransferInventory(oInventory,oHorse,GetLocation(oHorse),TRUE); + } // transfer to horse + } // drop horse saddlebags + else if (GetStringLength(sID)>0) + { // database based inventory + nC=GetCampaignInt(sDB,"nCO_"+sID); + while(nC>0) + { // restore inventory + sR=GetCampaignString(sDB,"sR"+sID+IntToString(nC)); + sT=GetCampaignString(sDB,"sT"+sID+IntToString(nC)); + nST=GetCampaignInt(sDB,"nS"+sID+IntToString(nC)); + nCH=GetCampaignInt(sDB,"nC"+sID+IntToString(nC)); + DeleteCampaignVariable(sDB,"sR"+sID+IntToString(nC)); + DeleteCampaignVariable(sDB,"sT"+sID+IntToString(nC)); + DeleteCampaignVariable(sDB,"nS"+sID+IntToString(nC)); + DeleteCampaignVariable(sDB,"nC"+sID+IntToString(nC)); + if (!GetIsObjectValid(oHorse)) + { // no lootable corpse + oItem=CreateObject(OBJECT_TYPE_ITEM,sR,GetLocation(oPlayer),FALSE,sT); + } // no lootable corpse + else + { // lootable corpse + oItem=CreateItemOnObject(sR,oHorse,nST,sT); + } // lootable corpse + if (GetItemStackSize(oItem)!=nST) SetItemStackSize(oItem,nST); + if (nCH>0) SetItemCharges(oItem,nCH); + nC--; + } // restore inventory + DeleteCampaignVariable(sDB,"nCO_"+sID); + if (GetIsObjectValid(oHorse)&&GetLocalInt(oHorse,"bDie")) DelayCommand(1.0,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDeath(),oHorse)); + } // database based inventory + if (GetIsObjectValid(oHorse)) + { // no inventory + DelayCommand(0.3,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDeath(),oHorse)); + } // no inventory + //eEffect=EffectDeath(); + //DelayCommand(1.6,ApplyEffectToObject(DURATION_TYPE_INSTANT,eEffect,oPlayer)); + //DelayCommand(1.7,SetCommandable(TRUE,oPlayer)); + //return; + } // Dismount and then die + // * increment global tracking number of times that I died + SetLocalInt(oPlayer, "NW_L_PLAYER_DIED", GetLocalInt(oPlayer, "NW_L_PLAYER_DIED") + 1); + + // * BK: Automation Control. Autopcs ignore death + if (GetLocalInt(oPlayer, "NW_L_AUTOMATION") == 10) + { + Raise(oPlayer); + DelayCommand(1.0, ExecuteScript("crawl", OBJECT_SELF)); + return; // Raise and return + } + + + // * Handle Spirit of the Wood Death + string sArea = GetTag(GetArea(oPlayer)); +/* + if (sArea == "MAP_M2Q2F2" && GetDistanceBetweenLocations(GetLocation(GetObjectByTag("M2Q2F2_M2Q2G")), GetLocation(oPlayer)) < 5.0 && GetLocalInt(GetModule(),"NW_M2Q2E_WoodsFreed") == 0) + { + int bValid; + + Raise(oPlayer); + string sDestTag = "WP_M2Q2GtoM2Q2F"; + object oSpawnPoint = GetObjectByTag(sDestTag); + AssignCommand(oPlayer,JumpToLocation(GetLocation(oSpawnPoint))); + return; + + } +*/ + // * in last level of the Sourcestone, move the player to the beginning of the area + // * May 16 2002: or the main area of the Snowglobe (to prevent plot logic problems). + // * May 21 2002: or Castle Never + if (sArea == "M4Q1D2" || sArea == "M3Q3C" || sArea == "MAP_M1Q6A") + { + + //Raise(oPlayer); + //string sDestTag = "M4QD07_ENTER"; + //object oSpawnPoint = GetObjectByTag(sDestTag); +// AssignCommand(oPlayer, DelayCommand(1.0, JumpToLocation(GetLocation(oSpawnPoint)))); +// * MAY 2002: Just popup the YOU ARE DEAD panel at this point + DelayCommand(2.5, PopUpDeathGUIPanel(oPlayer,FALSE, TRUE, 66487)); + return; + } + + // * make friendly to Each of the 3 common factions + AssignCommand(oPlayer, ClearAllActions()); + // * Note: waiting for Sophia to make SetStandardFactionReptuation to clear all personal reputation + if (GetStandardFactionReputation(STANDARD_FACTION_COMMONER, oPlayer) <= 10) + { SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad + SetStandardFactionReputation(STANDARD_FACTION_COMMONER, 80, oPlayer); + } + if (GetStandardFactionReputation(STANDARD_FACTION_MERCHANT, oPlayer) <= 10) + { SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad + SetStandardFactionReputation(STANDARD_FACTION_MERCHANT, 80, oPlayer); + } + if (GetStandardFactionReputation(STANDARD_FACTION_DEFENDER, oPlayer) <= 10) + { SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad + SetStandardFactionReputation(STANDARD_FACTION_DEFENDER, 80, oPlayer); + } + + DelayCommand(2.5, PopUpGUIPanel(oPlayer,GUI_PANEL_PLAYER_DEATH)); + +} +///////////////////////////////////////////////////////////////[ MAIN ]///////// + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_obrazier006.utp b/cep_blueprints/_hak/prc_add_sb/zep_obrazier006.utp new file mode 100644 index 0000000..a5f4d3a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_obrazier006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ocampfr001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ocampfr001.utp new file mode 100644 index 0000000..eba3e24 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ocampfr001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ocandle001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ocandle001.utp new file mode 100644 index 0000000..aee2242 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ocandle001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ocandle002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ocandle002.utp new file mode 100644 index 0000000..09b8410 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ocandle002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ocandle01.utp b/cep_blueprints/_hak/prc_add_sb/zep_ocandle01.utp new file mode 100644 index 0000000..055e97e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ocandle01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ocandle03.utp b/cep_blueprints/_hak/prc_add_sb/zep_ocandle03.utp new file mode 100644 index 0000000..d981a47 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ocandle03.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochndler001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochndler001.utp new file mode 100644 index 0000000..03ef79b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochndler001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochndler002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochndler002.utp new file mode 100644 index 0000000..31cb273 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochndler002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochoco1.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochoco1.utp new file mode 100644 index 0000000..ddaa8fc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochoco1.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochoco2.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochoco2.utp new file mode 100644 index 0000000..4d8e87b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochoco2.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochoco3.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochoco3.utp new file mode 100644 index 0000000..279a425 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochoco3.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochoco4.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochoco4.utp new file mode 100644 index 0000000..7761bb3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochoco4.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochoco5.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochoco5.utp new file mode 100644 index 0000000..a0aff98 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochoco5.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochoco6.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochoco6.utp new file mode 100644 index 0000000..714ed2f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochoco6.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochoco7.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochoco7.utp new file mode 100644 index 0000000..6390766 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochoco7.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochoco8.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochoco8.utp new file mode 100644 index 0000000..dbf0692 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochoco8.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochoco9.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochoco9.utp new file mode 100644 index 0000000..50218d0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochoco9.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochocos1.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochocos1.utp new file mode 100644 index 0000000..061817e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochocos1.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochocos2.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochocos2.utp new file mode 100644 index 0000000..4682817 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochocos2.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochocos3.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochocos3.utp new file mode 100644 index 0000000..a0a4dab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochocos3.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochocos4.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochocos4.utp new file mode 100644 index 0000000..1f6c5c2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochocos4.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochocos5.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochocos5.utp new file mode 100644 index 0000000..ba884aa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochocos5.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochocos6.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochocos6.utp new file mode 100644 index 0000000..034d676 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochocos6.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochocos7.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochocos7.utp new file mode 100644 index 0000000..e8d74dc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochocos7.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochocos8.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochocos8.utp new file mode 100644 index 0000000..3fc1a6c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochocos8.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochocos9.utp b/cep_blueprints/_hak/prc_add_sb/zep_ochocos9.utp new file mode 100644 index 0000000..6bd3951 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochocos9.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochrejellyl.utc b/cep_blueprints/_hak/prc_add_sb/zep_ochrejellyl.utc new file mode 100644 index 0000000..e0c84b5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochrejellyl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochrejellym.utc b/cep_blueprints/_hak/prc_add_sb/zep_ochrejellym.utc new file mode 100644 index 0000000..81f256e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochrejellym.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ochrejellys.utc b/cep_blueprints/_hak/prc_add_sb/zep_ochrejellys.utc new file mode 100644 index 0000000..bf83db0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ochrejellys.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ocndlbra001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ocndlbra001.utp new file mode 100644 index 0000000..b4cb071 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ocndlbra001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ocndlbra002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ocndlbra002.utp new file mode 100644 index 0000000..2d20fe3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ocndlbra002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ocre_mantico.ncs b/cep_blueprints/_hak/prc_add_sb/zep_ocre_mantico.ncs new file mode 100644 index 0000000..a16940e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ocre_mantico.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ocre_mantico.nss b/cep_blueprints/_hak/prc_add_sb/zep_ocre_mantico.nss new file mode 100644 index 0000000..cba6c90 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_ocre_mantico.nss @@ -0,0 +1,89 @@ +//:://///////////////////////////////////////////// +//:: End of Combat Round - Manticore +//:: CODI_OCRE_MANTIC.NSS +//::////////////////////////////////////////////// +/* + Manticore's on combat round end script. Launches tail spike attack. +*/ +//::////////////////////////////////////////////// +//:: Created By: Shkuey +//:: Created On: December 14, 2002 +//::////////////////////////////////////////////// + +#include "NW_I0_GENERIC" +void SpikeAttack(object oTarget); +void main() +{ + int iSpikes = GetLocalInt(OBJECT_SELF,"CODI_MANT_SPIKE"); + int iDay = GetLocalInt(OBJECT_SELF,"CODI_MANT_SPIKE_DAY"); + if (GetCalendarDay() != iDay) + { + iSpikes = 0; + iDay = GetCalendarDay(); + } + if (iSpikes < 4 && (Random(3) == 2 || GetDistanceBetween(GetNearestSeenOrHeardEnemy(),OBJECT_SELF)>9.9)) + { + iSpikes++; + object oTarget = FindSingleRangedTarget(); + ClearAllActions(); + SetFacingPoint(GetPosition(oTarget)); + ActionCastFakeSpellAtObject(SPELL_MAGIC_MISSILE,oTarget); + SetCommandable(0,OBJECT_SELF); + DelayCommand(1.0,SetCommandable(1,OBJECT_SELF)); + DelayCommand(1.05,ActionDoCommand(SpikeAttack(oTarget))); + DelayCommand(1.1,SetCommandable(0,OBJECT_SELF)); + DelayCommand(1.2,SetCommandable(1,OBJECT_SELF)); + DelayCommand(1.25,ActionDoCommand(SpikeAttack(oTarget))); + DelayCommand(1.3,SetCommandable(0,OBJECT_SELF)); + DelayCommand(1.4,SetCommandable(1,OBJECT_SELF)); + DelayCommand(1.45,ActionDoCommand(SpikeAttack(oTarget))); + DelayCommand(1.5,SetCommandable(0,OBJECT_SELF)); + DelayCommand(1.6,SetCommandable(1,OBJECT_SELF)); + DelayCommand(1.65,ActionDoCommand(SpikeAttack(oTarget))); + DelayCommand(1.7,SetCommandable(0,OBJECT_SELF)); + DelayCommand(1.8,SetCommandable(1,OBJECT_SELF)); + DelayCommand(1.85,ActionDoCommand(SpikeAttack(oTarget))); + DelayCommand(1.9,SetCommandable(0,OBJECT_SELF)); + DelayCommand(2.0,SetCommandable(1,OBJECT_SELF)); + DelayCommand(2.05,ActionDoCommand(SpikeAttack(oTarget))); + } + SetLocalInt(OBJECT_SELF,"CODI_MANT_SPIKE",iSpikes); + SetLocalInt(OBJECT_SELF,"CODI_MANT_SPIKE_DAY",GetCalendarDay()); + if(GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL)) + { + DetermineSpecialBehavior(); + } + else if(!GetSpawnInCondition(NW_FLAG_SET_WARNINGS)) + { + DetermineCombatRound(); + } + if(GetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT)) + { + SignalEvent(OBJECT_SELF, EventUserDefined(1003)); + } +} +void SpikeAttack(object oTarget) +{ + int iAttack = TouchAttackRanged(oTarget); + effect eHit = EffectVisualEffect(VFX_COM_BLOOD_CRT_RED); + effect eDmg; + switch(iAttack) + { + case 0: + eHit = EffectVisualEffect(VFX_COM_BLOOD_SPARK_MEDIUM,TRUE); + ApplyEffectToObject(DURATION_TYPE_INSTANT,eHit,oTarget); + break; + case 1: + eDmg = EffectDamage(d8() + 2,DAMAGE_TYPE_PIERCING,DAMAGE_POWER_PLUS_TWO); + ApplyEffectToObject(DURATION_TYPE_INSTANT,eHit,oTarget); + ApplyEffectToObject(DURATION_TYPE_INSTANT,eDmg,oTarget); + break; + case 2: + eDmg = EffectDamage(d8(2) + 4,DAMAGE_TYPE_PIERCING,DAMAGE_POWER_PLUS_TWO); + ApplyEffectToObject(DURATION_TYPE_INSTANT,eHit,oTarget); + ApplyEffectToObject(DURATION_TYPE_INSTANT,eDmg,oTarget); + break; + } +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ofirebowl001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ofirebowl001.utp new file mode 100644 index 0000000..4c40b66 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ofirebowl001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_oflrlntrn001.utp b/cep_blueprints/_hak/prc_add_sb/zep_oflrlntrn001.utp new file mode 100644 index 0000000..72737ed Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_oflrlntrn001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_oflrlntrn002.utp b/cep_blueprints/_hak/prc_add_sb/zep_oflrlntrn002.utp new file mode 100644 index 0000000..63c6806 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_oflrlntrn002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ogrillon.utc b/cep_blueprints/_hak/prc_add_sb/zep_ogrillon.utc new file mode 100644 index 0000000..f3b72a5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ogrillon.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ogrillon001.utc b/cep_blueprints/_hak/prc_add_sb/zep_ogrillon001.utc new file mode 100644 index 0000000..e43bed4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ogrillon001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ogrillon3.utc b/cep_blueprints/_hak/prc_add_sb/zep_ogrillon3.utc new file mode 100644 index 0000000..408385e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ogrillon3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ogrillon4.utc b/cep_blueprints/_hak/prc_add_sb/zep_ogrillon4.utc new file mode 100644 index 0000000..081f273 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ogrillon4.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_oilcauldron.utp b/cep_blueprints/_hak/prc_add_sb/zep_oilcauldron.utp new file mode 100644 index 0000000..35e12c4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_oilcauldron.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_olamppost001.utp b/cep_blueprints/_hak/prc_add_sb/zep_olamppost001.utp new file mode 100644 index 0000000..73a16c4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_olamppost001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_olantern001.utp b/cep_blueprints/_hak/prc_add_sb/zep_olantern001.utp new file mode 100644 index 0000000..f55e9b2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_olantern001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_olantern003.utp b/cep_blueprints/_hak/prc_add_sb/zep_olantern003.utp new file mode 100644 index 0000000..615d46f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_olantern003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_olantern005.utp b/cep_blueprints/_hak/prc_add_sb/zep_olantern005.utp new file mode 100644 index 0000000..037237a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_olantern005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_olantern007.utp b/cep_blueprints/_hak/prc_add_sb/zep_olantern007.utp new file mode 100644 index 0000000..601c2ed Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_olantern007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_oliveslimel.utc b/cep_blueprints/_hak/prc_add_sb/zep_oliveslimel.utc new file mode 100644 index 0000000..e1ae128 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_oliveslimel.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_oliveslimem.utc b/cep_blueprints/_hak/prc_add_sb/zep_oliveslimem.utc new file mode 100644 index 0000000..4522b4d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_oliveslimem.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_oliveslimes.utc b/cep_blueprints/_hak/prc_add_sb/zep_oliveslimes.utc new file mode 100644 index 0000000..e4a2883 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_oliveslimes.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_on_activate.ncs b/cep_blueprints/_hak/prc_add_sb/zep_on_activate.ncs new file mode 100644 index 0000000..db64775 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_on_activate.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_on_activate.nss b/cep_blueprints/_hak/prc_add_sb/zep_on_activate.nss new file mode 100644 index 0000000..ef36d5f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_on_activate.nss @@ -0,0 +1,1664 @@ +// Script: zep_on_activate +// by Barry_1066 +// Feb. 12 2008 for CEP/DLA horse systems +// Integrates BOTH old and Tag based systems + +#include "x3_inc_horse" +#include "zep_inc_phenos" +#include "x2_inc_switches" +#include "nw_i0_generic" +void main() +{ + object oItem = GetItemActivated(); + object oActivator = GetItemActivator(); + object oPC = GetItemActivator(); + object oTarget = GetItemActivatedTarget(); + string sTag = GetTag(oTarget); + string sItem = GetTag(oItem); + object oArea = GetArea(oTarget); + location lActivator = GetLocation(oActivator); + string sItemTag = GetTag(oItem); + location lTarget = GetItemActivatedTargetLocation(); + + +//---------------------------------START DLA DM HORSE WIDGETS----------------------------- + + if (GetTag(oItem) == "horse_dismt2") + { + AssignCommand(oActivator, ActionStartConversation(oActivator, "horse_dismnt_dla", TRUE)); + return; + } +// Paladin Unsummon// + if (GetTag(oItem) == "horse_unsummon") + { + object oPaladin = GetItemActivator(); + AssignCommand(oPaladin, HorseUnsummonPaladinMount()); + return; + } + +//---------------------------------START CEP HORSE WIDGETS------------------------------- + +/////////////////////////////////////////////////////////////////////////////// + // Summon White Pony +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonHorse") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_pony", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Pony"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Pony")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Spotted Pony +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonHorse2") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_ponysp", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Pony"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Pony")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Brown Pony +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonHorse3") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_ponybn", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Pony"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Pony")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Black Horse +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonHorse4") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_horsebk", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Brown Horse +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonHorse5") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_horse2", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Nightmare +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonHorse6") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_horsenm", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon White Horse +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonHorse7") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_horsewt", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Aurenthil Horse +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonHorse8") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_horseau", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // CEP widget dismount +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "horse_dismt") + { + object oPC = GetItemActivator(); + //if (GetTag (GetItemActivated ()) == "horse_dismt") {zep_Dismount (oPC, "horse_dismt");} + string sResRef = GetLocalString(oPC,"PONY_ID"); + zep_Dismount (oPC, "horse_dismt"); + SetLocalInt(oPC,"bX3_IS_MOUNTED",FALSE); + DeleteLocalString(oPC,"X3_HORSE_SCRIPT_DISMOUNT"); + SetLocalInt(oPC, "VAR_HORSEMOUNT", 0);//horselord class variable + + + //remove horse support DLA Style + object oRider=GetItemActivator(); + DelayCommand(1.0, HORSE_SupportOriginalSpeed(oRider)); + DelayCommand(1.0, HORSE_SupportRemoveMountedSkillDecreases(oRider)); + DelayCommand(1.0, HORSE_SupportRemoveACBonus(oRider)); + DelayCommand(1.0, HORSE_SupportRemoveHPBonus(oRider)); + + object oTarget; + location lPc = GetLocation(oPC); + location lWyrmling = GetItemActivatedTargetLocation(); + + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, sResRef, lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPC, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPC, ActionSpeakString("Invalid Horse/Pony")); + }/* end else (valid owyrmling) */ + + + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon CEP/DLA Horse Managemet to dismiss a Horse +/////////////////////////////////////////////////////////////////////////////// + if (GetTag(oItem) == "Horse_Management") + { + AssignCommand(oActivator, ActionStartConversation(oActivator, "horse_magmt", TRUE)); + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Pack Camel +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonCamel") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_pkcamel", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Camel"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Camel")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Pack Horse +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonpkHorse") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_pkhorse", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Pack Ox +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonpkOx") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_pkox", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Ox"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Ox")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Pack Pony +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "Summonpkpony") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_pkpony", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Pony"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Pony")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon CEP Flying System +/////////////////////////////////////////////////////////////////////////////// + if (GetTag(oItem) == "fly_widget") + { + AssignCommand(oActivator, ActionStartConversation(oActivator, "fly_control", TRUE)); + return; + } + +//---------------------------------START DLA HORSE WIDGETS------------------------------- +/////////////////////////////////////////////////////////////////////////////// + // Summon Walnut Horse Scale Barding +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "Horse_1") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_hvywarhorse2", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Walnut Horse Leather Barding +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_2") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_hvywarhorse3", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Walnut Horse Red Barding +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_3") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_hvywarhorse4", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Walnut Horse Chain Barding +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_4") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_hvywarhorse", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Walnut Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_5") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_horse001", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Purple Jousting Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_6") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_jousthorse1", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Blue & Gold Jousting Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_7") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_jousthorse2", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Black & White Jousting Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_8") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_jousthorse3", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Red & Gold Jousting Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_9") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_jousthorse4", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Red & Black Jousting Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_10") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_jousthorse5", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Gunpowder Grey Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_11") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "horse002", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Green Jousting Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_12") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "jousthorse002", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon White Jousting Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_13") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "jousthorse003", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon pink & Blue Jousting Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_14") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "jousthorse004", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon White Unicorn +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_15") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "cep_unicorn", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Unicorn"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Nightmare with Barding +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_16") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_nightmare001", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Nightmare"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Nightmare")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Nightmare Saddled +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_17") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_nightmare003", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Nightmare"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Nightmare")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Dark Unicorn +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_18") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "cep_unicorn001", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Unicorn"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////END DLA HORSE WIDGETS//////////////////// +/////////////////////////////////////////////////////////////////////////////// +/////////////////////START DLA CREATURE Mount WIDGETS////////////////////////// +////////////////////////////////////////////////////////////////////////////// + // Summon Bear +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_1") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_bear_mt", lPc, TRUE); + +/////////////////////////////////////// name the Bear ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Bear"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Boar (grey) +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_2") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_boar_mt1", lPc, TRUE); + +/////////////////////////////////////// name the Boar ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Boar"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Boar (Red) +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_3") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_boar_mt2", lPc, TRUE); + +/////////////////////////////////////// name the Boar ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Boar"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Boar (black) +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_4") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_boar_mt3", lPc, TRUE); + +/////////////////////////////////////// name the Boar ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Boar"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Camel Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_5") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_camel_mt", lPc, TRUE); + +/////////////////////////////////////// name the Camel ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Camel"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Deer Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_6") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_deer_mt", lPc, TRUE); + +/////////////////////////////////////// name the Deer ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Deer"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Diatryma Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_7") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_diatryma_mt", lPc, TRUE); + +/////////////////////////////////////// name the Diatryma ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Diatryma"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Dog Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_8") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_dog_mt", lPc, TRUE); + +/////////////////////////////////////// name the Dog ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Dog"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Elephant Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_9") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_elephant_mt", lPc, TRUE); + +/////////////////////////////////////// name the Elephant ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Elephant"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Emu Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_10") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_emu_mt", lPc, TRUE); + +/////////////////////////////////////// name the Emu ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Emu"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Gorgon Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_11") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_gorgon_mt", lPc, TRUE); + +/////////////////////////////////////// name the Gorgon ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Gorgon"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Green Drake Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_12") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_greendrak_mt", lPc, TRUE); + +/////////////////////////////////////// name the Drake ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Drake"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Gryphon Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_13") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "ZEP_Gryphon", lPc, TRUE); + +/////////////////////////////////////// name the Gryphon ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Gryphon"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Gryphon, Imperial Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_14") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_gryphon_mtim", lPc, TRUE); + +/////////////////////////////////////// name the Gryphon ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Gryphon"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Gryphon, Winged Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_15") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_gryphon_mtw", lPc, TRUE); + +/////////////////////////////////////// name the Gryphon ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Gryphon"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Hippogriff Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_16") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_hippog_mt", lPc, TRUE); + +/////////////////////////////////////// name the Hippogriff ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Hippogriff"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Hippogriff, Winged Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_17") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_hippog_mtw", lPc, TRUE); + +/////////////////////////////////////// name the Hippogriff ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Hippogriff"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Jaguar Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_18") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_jaguar_mt", lPc, TRUE); + +/////////////////////////////////////// name the Jaguar ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Jaguar"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Jarilith Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_19") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_jarilith_mt", lPc, TRUE); + +/////////////////////////////////////// name the Jarilith ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Jarilith"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Jarilith, Winged Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_20") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_jarilit_mtbw", lPc, TRUE); + +/////////////////////////////////////// name the Jarilith ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Jarilith"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Lion Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_21") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_lion_mtm", lPc, TRUE); + +/////////////////////////////////////// name the Lion ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Lion"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Lioness Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_22") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_lion_mtf", lPc, TRUE); + +/////////////////////////////////////// name the Lioness ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Lioness"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Pegasus Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_23") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_pegasus", lPc, TRUE); + +/////////////////////////////////////// name the Pegasus ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Pegasus"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Raptor (green) Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_24") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_raptor_mtg", lPc, TRUE); + +/////////////////////////////////////// name the Raptor ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Raptor"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Raptor (orange) Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_25") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_raptor_mto", lPc, TRUE); + +/////////////////////////////////////// name the Raptor ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Raptor"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Red Drake Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_26") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_reddrake_mt", lPc, TRUE); + +/////////////////////////////////////// name the Drake ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Drake"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Rhino Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_27") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_rhino_mt", lPc, TRUE); + +/////////////////////////////////////// name the Rhino ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Rhino"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Shark Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_28") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_shark_mt", lPc, TRUE); + +/////////////////////////////////////// name the Shark ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Shark"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Skeletal Horse, Armored Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_29") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_skelhorse_mt", lPc, TRUE); + +/////////////////////////////////////// name the Horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Skeletal Horse Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_30") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_skelhorse2", lPc, TRUE); + +/////////////////////////////////////// name the Horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Skeletal Horse, Hell Armored Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_31") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_skelhorse3", lPc, TRUE); + +/////////////////////////////////////// name the Horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Wolf, Grey Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_32") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_wolf_mt1", lPc, TRUE); + +/////////////////////////////////////// name the Wolf ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Wolf"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Wolf, Timber Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_33") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_wolf_mt2", lPc, TRUE); + +/////////////////////////////////////// name the Wolf ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Wolf"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Wolf, Black Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_34") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_wolf_mt3", lPc, TRUE); + +/////////////////////////////////////// name the Wolf ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Wolf"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////END DLA CREATURE Mount WIDGETS//////////////////// + //X2 Tag based system code + + //ExecuteScript(sItemTag, OBJECT_SELF); + + //object oItem = GetItemActivated(); + + // * Generic Item Script Execution Code + // * If MODULE_SWITCH_EXECUTE_TAGBASED_SCRIPTS is set to TRUE on the module, + // * it will execute a script that has the same name as the item's tag + // * inside this script you can manage scripts for all events by checking against + // * GetUserDefinedItemEventNumber(). See x2_it_example.nss + if (GetModuleSwitchValue(MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS) == TRUE) + { + SetUserDefinedItemEventNumber(X2_ITEM_EVENT_ACTIVATE); + int nRet = ExecuteScriptAndReturnInt(GetUserDefinedItemEventScriptName(oItem),OBJECT_SELF); + if (nRet == X2_EXECUTE_SCRIPT_END) + { + return; + } + } +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_on_activate2.ncs b/cep_blueprints/_hak/prc_add_sb/zep_on_activate2.ncs new file mode 100644 index 0000000..e39dc9c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_on_activate2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_on_activate2.nss b/cep_blueprints/_hak/prc_add_sb/zep_on_activate2.nss new file mode 100644 index 0000000..f2acada --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_on_activate2.nss @@ -0,0 +1,1745 @@ +// Script: zep_on_activate +// by Barry_1066 +// Feb. 12 2008 for CEP/DLA horse systems +// Integrates BOTH old and Tag based systems + +#include "x3_inc_horse" +#include "zep_inc_phenos" +#include "x2_inc_switches" +#include "nw_i0_generic" +void main() +{ + object oItem = GetItemActivated(); + object oActivator = GetItemActivator(); + object oPC = GetItemActivator(); + object oTarget = GetItemActivatedTarget(); + string sTag = GetTag(oTarget); + string sItem = GetTag(oItem); + object oArea = GetArea(oTarget); + location lActivator = GetLocation(oActivator); + string sItemTag = GetTag(oItem); + location lTarget = GetItemActivatedTargetLocation(); + +//---------------------------------START C.R.A.P. WIDGETS--------------------------------- + + if (sItemTag == "crpi_paw") + { + ExecuteScript("mod_activate",OBJECT_SELF); //CRAP_PAW + return; + } + + if (sItemTag == "crpi_rope") + { + ExecuteScript("mod_activate",OBJECT_SELF); //CRAP_PAW + return; + } + + if (sItemTag == "crpi_graprope") + { + ExecuteScript("mod_activate",OBJECT_SELF); //CRAP_PAW + return; + } + + if (sItemTag == "crpi_graphook") + { + ExecuteScript("mod_activate",OBJECT_SELF); //CRAP_PAW + return; + } + + if (sItemTag == "crpi_bandages") + { + ExecuteScript("mod_activate",OBJECT_SELF); //CRAP_PAW + return; + } + + if (sItemTag == "crpi_bedroll") + { + ExecuteScript("mod_activate",OBJECT_SELF); //CRAP_PAW + return; + } + + if (sItemTag == "crpi_adv_tent02") + { + ExecuteScript("mod_activate",OBJECT_SELF); //CRAP_PAW + return; + } + + if (sItemTag == "crpi_adv_tent01") + { + ExecuteScript("mod_activate",OBJECT_SELF); //CRAP_PAW + return; + } + + if (sItemTag == "crpi_tinderbox") + { + ExecuteScript("mod_activate",OBJECT_SELF); //CRAP_PAW + return; + } + + +//---------------------------------START DLA DM HORSE WIDGETS----------------------------- + + if (GetTag(oItem) == "horse_dismt2") + { + AssignCommand(oActivator, ActionStartConversation(oActivator, "horse_dismnt_dla", TRUE)); + return; + } +// Paladin Unsummon// + if (GetTag(oItem) == "horse_unsummon") + { + object oPaladin = GetItemActivator(); + AssignCommand(oPaladin, HorseUnsummonPaladinMount()); + return; + } + +//---------------------------------START CEP HORSE WIDGETS------------------------------- + +/////////////////////////////////////////////////////////////////////////////// + // Summon White Pony +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonHorse") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_pony", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Pony"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Pony")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Spotted Pony +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonHorse2") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_ponysp", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Pony"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Pony")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Brown Pony +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonHorse3") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_ponybn", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Pony"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Pony")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Black Horse +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonHorse4") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_horsebk", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Brown Horse +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonHorse5") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_horse2", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Nightmare +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonHorse6") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_horsenm", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon White Horse +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonHorse7") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_horsewt", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Aurenthil Horse +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonHorse8") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_horseau", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Dragon (riding) +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonDragon") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_dragon_ride", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Dragon"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // CEP widget dismount +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "horse_dismt") + { + object oPC = GetItemActivator(); + //if (GetTag (GetItemActivated ()) == "horse_dismt") {zep_Dismount (oPC, "horse_dismt");} + string sResRef = GetLocalString(oPC,"PONY_ID"); + zep_Dismount (oPC, "horse_dismt"); + SetLocalInt(oPC,"bX3_IS_MOUNTED",FALSE); + DeleteLocalString(oPC,"X3_HORSE_SCRIPT_DISMOUNT"); + SetLocalInt(oPC, "VAR_HORSEMOUNT", 0);//horselord class variable + + + //remove horse support DLA Style + object oRider=GetItemActivator(); + DelayCommand(1.0, HORSE_SupportOriginalSpeed(oRider)); + DelayCommand(1.0, HORSE_SupportRemoveMountedSkillDecreases(oRider)); + DelayCommand(1.0, HORSE_SupportRemoveACBonus(oRider)); + DelayCommand(1.0, HORSE_SupportRemoveHPBonus(oRider)); + + object oTarget; + location lPc = GetLocation(oPC); + location lWyrmling = GetItemActivatedTargetLocation(); + + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, sResRef, lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPC, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPC, ActionSpeakString("Invalid Horse/Pony")); + }/* end else (valid owyrmling) */ + + + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon CEP/DLA Horse Managemet to dismiss a Horse +/////////////////////////////////////////////////////////////////////////////// + if (GetTag(oItem) == "Horse_Management") + { + AssignCommand(oActivator, ActionStartConversation(oActivator, "horse_magmt", TRUE)); + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Pack Camel +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonCamel") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_pkcamel", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Camel"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Camel")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Pack Horse +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonpkHorse") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_pkhorse", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Pack Ox +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "SummonpkOx") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_pkox", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Ox"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Ox")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Pack Pony +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "Summonpkpony") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "henchman_pkpony", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Pony"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Pony")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon CEP Flying System +/////////////////////////////////////////////////////////////////////////////// + if (GetTag(oItem) == "fly_widget") + { + AssignCommand(oActivator, ActionStartConversation(oActivator, "fly_control", TRUE)); + return; + } + +//---------------------------------START DLA HORSE WIDGETS------------------------------- +/////////////////////////////////////////////////////////////////////////////// + // Summon Walnut Horse Scale Barding +/////////////////////////////////////////////////////////////////////////////// + if (sItemTag == "Horse_1") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_hvywarhorse2", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Walnut Horse Leather Barding +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_2") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_hvywarhorse3", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Walnut Horse Red Barding +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_3") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_hvywarhorse4", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Walnut Horse Chain Barding +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_4") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_hvywarhorse", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Walnut Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_5") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_horse001", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Purple Jousting Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_6") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_jousthorse1", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Blue & Gold Jousting Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_7") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_jousthorse2", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Black & White Jousting Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_8") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_jousthorse3", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Red & Gold Jousting Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_9") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_jousthorse4", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Red & Black Jousting Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_10") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_jousthorse5", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Gunpowder Grey Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_11") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "horse002", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Green Jousting Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_12") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "jousthorse002", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon White Jousting Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_13") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "jousthorse003", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon pink & Blue Jousting Horse +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_14") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "jousthorse004", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Horse")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon White Unicorn +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_15") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "cep_unicorn", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Unicorn"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Nightmare with Barding +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_16") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_nightmare001", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Nightmare"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Nightmare")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Nightmare Saddled +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_17") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "dla_nightmare003", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Nightmare"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Nightmare")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////////////////////////////////////////////////////////////// + // Summon Dark Unicorn +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "Horse_18") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "cep_unicorn001", lPc, TRUE); + +/////////////////////////////////////// name the horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Unicorn"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////END DLA HORSE WIDGETS//////////////////// +/////////////////////////////////////////////////////////////////////////////// +/////////////////////START DLA CREATURE Mount WIDGETS////////////////////////// +////////////////////////////////////////////////////////////////////////////// + // Summon Bear +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_1") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_bear_mt", lPc, TRUE); + +/////////////////////////////////////// name the Bear ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Bear"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Boar (grey) +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_2") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_boar_mt1", lPc, TRUE); + +/////////////////////////////////////// name the Boar ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Boar"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Boar (Red) +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_3") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_boar_mt2", lPc, TRUE); + +/////////////////////////////////////// name the Boar ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Boar"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Boar (black) +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_4") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_boar_mt3", lPc, TRUE); + +/////////////////////////////////////// name the Boar ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Boar"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Camel Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_5") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_camel_mt", lPc, TRUE); + +/////////////////////////////////////// name the Camel ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Camel"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Deer Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_6") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_deer_mt", lPc, TRUE); + +/////////////////////////////////////// name the Deer ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Deer"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Diatryma Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_7") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_diatryma_mt", lPc, TRUE); + +/////////////////////////////////////// name the Diatryma ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Diatryma"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Dog Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_8") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_dog_mt", lPc, TRUE); + +/////////////////////////////////////// name the Dog ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Dog"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Elephant Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_9") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_elephant_mt", lPc, TRUE); + +/////////////////////////////////////// name the Elephant ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Elephant"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Emu Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_10") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_emu_mt", lPc, TRUE); + +/////////////////////////////////////// name the Emu ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Emu"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Gorgon Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_11") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_gorgon_mt", lPc, TRUE); + +/////////////////////////////////////// name the Gorgon ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Gorgon"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Green Drake Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_12") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_greendrak_mt", lPc, TRUE); + +/////////////////////////////////////// name the Drake ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Drake"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Gryphon Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_13") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "ZEP_Gryphon", lPc, TRUE); + +/////////////////////////////////////// name the Gryphon ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Gryphon"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Gryphon, Imperial Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_14") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_gryphon_mtim", lPc, TRUE); + +/////////////////////////////////////// name the Gryphon ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Gryphon"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Gryphon, Winged Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_15") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_gryphon_mtw", lPc, TRUE); + +/////////////////////////////////////// name the Gryphon ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Gryphon"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Hippogriff Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_16") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_hippog_mt", lPc, TRUE); + +/////////////////////////////////////// name the Hippogriff ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Hippogriff"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Hippogriff, Winged Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_17") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_hippog_mtw", lPc, TRUE); + +/////////////////////////////////////// name the Hippogriff ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Hippogriff"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Jaguar Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_18") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_jaguar_mt", lPc, TRUE); + +/////////////////////////////////////// name the Jaguar ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Jaguar"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Jarilith Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_19") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_jarilith_mt", lPc, TRUE); + +/////////////////////////////////////// name the Jarilith ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Jarilith"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Jarilith, Winged Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_20") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_jarilit_mtbw", lPc, TRUE); + +/////////////////////////////////////// name the Jarilith ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Jarilith"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Lion Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_21") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_lion_mtm", lPc, TRUE); + +/////////////////////////////////////// name the Lion ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Lion"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Lioness Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_22") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_lion_mtf", lPc, TRUE); + +/////////////////////////////////////// name the Lioness ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Lioness"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Pegasus Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_23") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_pegasus", lPc, TRUE); + +/////////////////////////////////////// name the Pegasus ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Pegasus"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Raptor (green) Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_24") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_raptor_mtg", lPc, TRUE); + +/////////////////////////////////////// name the Raptor ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Raptor"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Raptor (orange) Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_25") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_raptor_mto", lPc, TRUE); + +/////////////////////////////////////// name the Raptor ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Raptor"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Red Drake Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_26") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_reddrake_mt", lPc, TRUE); + +/////////////////////////////////////// name the Drake ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Drake"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Rhino Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_27") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_rhino_mt", lPc, TRUE); + +/////////////////////////////////////// name the Rhino ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Rhino"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Shark Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_28") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_shark_mt", lPc, TRUE); + +/////////////////////////////////////// name the Shark ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Shark"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Skeletal Horse, Armored Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_29") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_skelhorse_mt", lPc, TRUE); + +/////////////////////////////////////// name the Horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Skeletal Horse Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_30") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_skelhorse2", lPc, TRUE); + +/////////////////////////////////////// name the Horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Skeletal Horse, Hell Armored Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_31") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_skelhorse3", lPc, TRUE); + +/////////////////////////////////////// name the Horse ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Horse"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Wolf, Grey Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_32") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_wolf_mt1", lPc, TRUE); + +/////////////////////////////////////// name the Wolf ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Wolf"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Wolf, Timber Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_33") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_wolf_mt2", lPc, TRUE); + +/////////////////////////////////////// name the Wolf ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Wolf"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +////////////////////////////////////////////////////////////////////////////// + // Summon Wolf, Black Mount +/////////////////////////////////////////////////////////////////////////////// + else if (sItemTag == "cepmount_34") + { + object oPc = GetItemActivator(); + location lPc = GetLocation(oPc); + location lWyrmling = GetItemActivatedTargetLocation(); + object oWyrmling = CreateObject(OBJECT_TYPE_CREATURE, "zep_wolf_mt3", lPc, TRUE); + +/////////////////////////////////////// name the Wolf ////////////// + SetName (oWyrmling, GetName(GetItemActivator()) + "'s " + " Wolf"); +///////////////////////////////////////////////////////////////////// + + if (GetIsObjectValid(oWyrmling)) + { + AddHenchman(oPc, oWyrmling); + }/* end then (valid owyrmling) */ + else + { + AssignCommand(oPc, ActionSpeakString("Invalid Unicorn")); + }/* end else (valid owyrmling) */ + return; + } +/////////////////////END DLA CREATURE Mount WIDGETS//////////////////// + //X2 Tag based system code + + //ExecuteScript(sItemTag, OBJECT_SELF); + + //object oItem = GetItemActivated(); + + // * Generic Item Script Execution Code + // * If MODULE_SWITCH_EXECUTE_TAGBASED_SCRIPTS is set to TRUE on the module, + // * it will execute a script that has the same name as the item's tag + // * inside this script you can manage scripts for all events by checking against + // * GetUserDefinedItemEventNumber(). See x2_it_example.nss + if (GetModuleSwitchValue(MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS) == TRUE) + { + SetUserDefinedItemEventNumber(X2_ITEM_EVENT_ACTIVATE); + int nRet = ExecuteScriptAndReturnInt(GetUserDefinedItemEventScriptName(oItem),OBJECT_SELF); + if (nRet == X2_EXECUTE_SCRIPT_END) + { + return; + } + } +} + + + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_onager.utp b/cep_blueprints/_hak/prc_add_sb/zep_onager.utp new file mode 100644 index 0000000..4b3b130 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_onager.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_onatk_hama.ncs b/cep_blueprints/_hak/prc_add_sb/zep_onatk_hama.ncs new file mode 100644 index 0000000..dd5d43c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_onatk_hama.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_onatk_hama.nss b/cep_blueprints/_hak/prc_add_sb/zep_onatk_hama.nss new file mode 100644 index 0000000..5abae9b --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_onatk_hama.nss @@ -0,0 +1,75 @@ +//:://///////////////////////////////////////////// +//:: BARBED DEFENCE SCRIPT +//:: BASED ON BIOWARES DEFAULT ON ATTACKED SCRIPT +//:: +//:: Default On Attacked +//:: NW_C2_DEFAULT5 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + If already fighting then ignore, else determine + combat round +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 16, 2001 +//::////////////////////////////////////////////// + +#include "nw_i0_generic" + +void main() +{ + //BEGIN BARBED DEFENCE SCRIPT: + //DEAL DAMAGE TO ANYONE THAT PHYSICALLY ATTACKS THE HAMATULA + //WHO IS NOT OUTSIDE MELEE RANGE + object oattacker=GetLastAttacker(); + //IF IN MELEE RANGE + if (!GetIsRangedAttacker(oattacker)) + { + AssignCommand(oattacker, SpeakString("You are spiked by the creature's barbs!")); + int idamage=(d8(1)+6); + effect ebarb = ExtraordinaryEffect(EffectDamage(idamage, DAMAGE_TYPE_PIERCING)); + ApplyEffectToObject(DURATION_TYPE_INSTANT, ebarb, oattacker); + } + //END BARBED DEFENCE SCRIPT - NORMAL ONDAMAGED SCRIPT FOLLOWS + + if(GetFleeToExit()) { + // Run away! + ActivateFleeToExit(); + } else if (GetSpawnInCondition(NW_FLAG_SET_WARNINGS)) { + // We give an attacker one warning before we attack + // This is not fully implemented yet + SetSpawnInCondition(NW_FLAG_SET_WARNINGS, FALSE); + + //Put a check in to see if this attacker was the last attacker + //Possibly change the GetNPCWarning function to make the check + } else { + object oAttacker = GetLastAttacker(); + if (!GetIsObjectValid(oAttacker)) { + // Don't do anything, invalid attacker + + } else if (!GetIsFighting(OBJECT_SELF)) { + // We're not fighting anyone else, so + // start fighting the attacker + if(GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL)) { + SetSummonHelpIfAttacked(); + DetermineSpecialBehavior(oAttacker); + } else if (GetArea(oAttacker) == GetArea(OBJECT_SELF)) { + SetSummonHelpIfAttacked(); + DetermineCombatRound(oAttacker); + } + + //Shout Attack my target, only works with the On Spawn In setup + SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK); + + //Shout that I was attacked + SpeakString("NW_I_WAS_ATTACKED", TALKVOLUME_SILENT_TALK); + } + } + + + if(GetSpawnInCondition(NW_FLAG_ATTACK_EVENT)) + { + SignalEvent(OBJECT_SELF, EventUserDefined(EVENT_ATTACKED)); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_onequip.ncs b/cep_blueprints/_hak/prc_add_sb/zep_onequip.ncs new file mode 100644 index 0000000..91e9ae9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_onequip.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_onequip.nss b/cep_blueprints/_hak/prc_add_sb/zep_onequip.nss new file mode 100644 index 0000000..9d0c314 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_onequip.nss @@ -0,0 +1,59 @@ +//:://///////////////////////////////////////////// +//:: zep_onequip +//:: based pm functions (c) 2003 Bioware Corp. +//::////////////////////////////////////////////// +/* + Put into: OnEquip Event +*/ +//::////////////////////////////////////////////// +//:: Original Bioware functions Created By: Georg Zoeller +//:: Created On: 2003-07-16 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Modified by: Loki Hakanin, CEP Anatomy +//::////////////////////////////////////////////// +#include "x2_inc_switches" +#include "x2_inc_intweapon" +//Following includes Added by Loki of CEP +//First is for advanced Itemprop functions of hordes +//Second is my own CEP Include file. +#include "x2_inc_itemprop" +#include "zep_inc_main" + + + +void main() +{ + + object oItem = GetPCItemLastEquipped(); + object oPC = GetPCItemLastEquippedBy(); + // ------------------------------------------------------------------------- + // Intelligent Weapon System + // ------------------------------------------------------------------------- + if (IPGetIsIntelligentWeapon(oItem)) + { + IWSetIntelligentWeaponEquipped(oPC,oItem); + // prevent players from reequipping their weapon in + if (IWGetIsInIntelligentWeaponConversation(oPC)) + { + object oConv = GetLocalObject(oPC,"X2_O_INTWEAPON_SPIRIT"); + IWEndIntelligentWeaponConversation(oConv, oPC); + } + else + { + //------------------------------------------------------------------ + // Trigger Drain Health Event + //------------------------------------------------------------------ + if (GetLocalInt(oPC,"X2_L_ENSERRIC_ASKED_Q3")==1) + { + ExecuteScript ("x2_ens_dodrain",oPC); + } + else + { + IWPlayRandomEquipComment(oPC,oItem); + } + } + } + + ZEPGenderRestrict(oItem,oPC); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_onoff.ncs b/cep_blueprints/_hak/prc_add_sb/zep_onoff.ncs new file mode 100644 index 0000000..5af971a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_onoff.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_onoff.nss b/cep_blueprints/_hak/prc_add_sb/zep_onoff.nss new file mode 100644 index 0000000..e837d7f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_onoff.nss @@ -0,0 +1,54 @@ +//:://///////////////////////////////////////////// +//:: ZEP_ONOFF.nss +//:: Copyright (c) 2001 Bioware Corp. +//:: Modified by Dan Heidel 1/14/04 for CEP +//::////////////////////////////////////////////// +/* + Turns the placeable object's animation on/off + + Since the activation state for a placeable cannot + be querried, this state must be stored in the + local int CEP_L_AMION. If the placeable is + activated by default, CEP_L_AMION must be 1. If the + placeable is deactivated by default, CEP_L_AMION must + be set to 0 or else incorrect behavior will result. + All CEP placeables have local variables set properly. + + Also, for musical instruments, etc, sounds will be + played if specified. + CEP_L_SOUND1 is the name of the WAV file to play + when the placeable is activated. + CEP_L_SOUND2 is the name of the WAV file to play + when the placeable is deactivated. + If either of these is not defined, no sound will + be played for that anim. + By default, all CEP placeables that have sounds + attached to them already have local variables + defined for them. + +*/ +//::////////////////////////////////////////////// +//:: Created By: Brent +//:: Created On: January 2002 +//::////////////////////////////////////////////// + + +void main() +{ + string sSound1 = GetLocalString(OBJECT_SELF, "CEP_L_SOUND1"); + string sSound2 = GetLocalString(OBJECT_SELF, "CEP_L_SOUND2"); + if (GetLocalInt(OBJECT_SELF,"CEP_L_AMION") == 0) + { + object oSelf = OBJECT_SELF; + PlaySound(sSound1); + DelayCommand(0.1, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); + SetLocalInt(OBJECT_SELF,"CEP_L_AMION",1); + } + else + { + object oSelf = OBJECT_SELF; + PlaySound(sSound2); + DelayCommand(0.1, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); + SetLocalInt(OBJECT_SELF,"CEP_L_AMION",0); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_oolantern001.utp b/cep_blueprints/_hak/prc_add_sb/zep_oolantern001.utp new file mode 100644 index 0000000..54888a8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_oolantern001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_oolantern003.utp b/cep_blueprints/_hak/prc_add_sb/zep_oolantern003.utp new file mode 100644 index 0000000..1fa338f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_oolantern003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_oolantern005.utp b/cep_blueprints/_hak/prc_add_sb/zep_oolantern005.utp new file mode 100644 index 0000000..575d164 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_oolantern005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_oolantern007.utp b/cep_blueprints/_hak/prc_add_sb/zep_oolantern007.utp new file mode 100644 index 0000000..b944654 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_oolantern007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_openclose.ncs b/cep_blueprints/_hak/prc_add_sb/zep_openclose.ncs new file mode 100644 index 0000000..daa5cd3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_openclose.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_openclose.nss b/cep_blueprints/_hak/prc_add_sb/zep_openclose.nss new file mode 100644 index 0000000..28ca974 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_openclose.nss @@ -0,0 +1,94 @@ +//:://///////////////////////////////////////////// +//:: ZEP_OPENCLOSE.nss +//:: Copyright (c) 2001 Bioware Corp. +//:: Modified by Dan Heidel 1/14/04 for CEP +//::////////////////////////////////////////////// +/* + This function goes in the OnUse function of an + openable placeable or door. Do not use for + placeables which have an inventory, only for those + where clicking should trigger the open/close anim + without opening up an inventory. Eg: sarcophagii, + grandfather clock and iron maiden. If you wish for + these items to have an inventory make a copy of the + placeable with this function removed and the 'has + inventory' box checked. + + No local variables are needed if the placeable is + not a door. + + If the placeable is a door, CEP_L_GATEBLOCK is a + local string containing the blueprint resref of the + gateblock corresponding to the particular door. + + A gateblock is an invisible placeable with a walkmesh + of the size, shape and orientation of the door. In + the case of CEP Door 01-11, there is a corresponding + Gateblock 01-11. Therefore, for Door01, the CEP_L_GATEBLOCK + should be gateblock001 - the resref for Gateblock 01. + + When the door is closed, a gateblock placeable is created + so that the door is impassable. When the door is opened, + the gateblock is destroyed so the gate is passable. + + GateBlock is a local object that stores the gateblock + being used by a particular door. No user intervention is + needed other than to not create a local variable with the same + name. + + In addition, zep_doorspawn must be placed in the heartbeat + function of the door and zep_doorkill must be placed in the + OnDestruct function of the door. + +*/ +//::////////////////////////////////////////////// +//:: Created By: Brent +//:: Created On: January 2002 +//:: Modified by: Dan Heidel 1-21-04 for CEP +//::////////////////////////////////////////////// + +#include "zep_inc_scrptdlg" + +void main() +{ + string sGateBlock = GetLocalString(OBJECT_SELF, "CEP_L_GATEBLOCK"); + location lSelfLoc = GetLocation(OBJECT_SELF); + int nIsOpen = GetIsOpen(OBJECT_SELF); + + if (GetLocked(OBJECT_SELF) == 1){ + //FloatingTextStringOnCreature("Locked", OBJECT_SELF); + string sLockedMSG = GetStringByStrRef(nZEPDoorLocked,GENDER_MALE); + SpeakString(sLockedMSG); + return; + } + //if the object is locked, it cannot be opened or closed + + if (sGateBlock == ""){ // if the item is not a door + if (nIsOpen == 0) + { + PlayAnimation(ANIMATION_PLACEABLE_OPEN); + } + else + { + PlayAnimation(ANIMATION_PLACEABLE_CLOSE); + } + return; + } + + if (nIsOpen == 0) //if the item is a door + { + object oSelf = OBJECT_SELF; + PlayAnimation(ANIMATION_PLACEABLE_OPEN); + if (GetLocalObject(oSelf, "GateBlock")!= OBJECT_INVALID) + { + DestroyObject(GetLocalObject(oSelf, "GateBlock")); + SetLocalObject(oSelf, "GateBlock", OBJECT_INVALID); + } + } + else + { + object oSelf = OBJECT_SELF; + PlayAnimation(ANIMATION_PLACEABLE_CLOSE); + SetLocalObject(oSelf, "GateBlock", CreateObject(OBJECT_TYPE_PLACEABLE, sGateBlock, lSelfLoc)); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_openclose2.ncs b/cep_blueprints/_hak/prc_add_sb/zep_openclose2.ncs new file mode 100644 index 0000000..39d9c12 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_openclose2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_openclose2.nss b/cep_blueprints/_hak/prc_add_sb/zep_openclose2.nss new file mode 100644 index 0000000..e4f022c --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_openclose2.nss @@ -0,0 +1,111 @@ +//:://///////////////////////////////////////////// +//:: ZEP_OPENCLOSE.nss +//:: Copyright (c) 2001 Bioware Corp. +//:: Modified by Dan Heidel 1/14/04 for CEP +//::////////////////////////////////////////////// +/* + This function goes in the OnUse function of an + openable placeable or door. Do not use for + placeables which have an inventory, only for those + where clicking should trigger the open/close anim + without opening up an inventory. Eg: sarcophagii, + grandfather clock and iron maiden. If you wish for + these items to have an inventory make a copy of the + placeable with this function removed and the 'has + inventory' box checked. + + No local variables are needed if the placeable is + not a door. + + If the placeable is a door, CEP_L_GATEBLOCK is a + local string containing the blueprint resref of the + gateblock corresponding to the particular door. + + A gateblock is an invisible placeable with a walkmesh + of the size, shape and orientation of the door. In + the case of CEP Door 01-11, there is a corresponding + Gateblock 01-11. Therefore, for Door01, the CEP_L_GATEBLOCK + should be gateblock001 - the resref for Gateblock 01. + + When the door is closed, a gateblock placeable is created + so that the door is impassable. When the door is opened, + the gateblock is destroyed so the gate is passable. + + GateBlock is a local object that stores the gateblock + being used by a particular door. No user intervention is + needed other than to not create a local variable with the same + name. + + In addition, zep_doorspawn must be placed in the heartbeat + function of the door and zep_doorkill must be placed in the + OnDestruct function of the door. + +*/ +//::////////////////////////////////////////////// +//:: Created By: Brent +//:: Created On: January 2002 +//:: Modified by: Dan Heidel 1-21-04 for CEP +//::////////////////////////////////////////////// + +#include "zep_inc_scrptdlg" + +void main() +{ + string sGateBlock = GetLocalString(OBJECT_SELF, "CEP_L_GATEBLOCK"); + location lSelfLoc = GetLocation(OBJECT_SELF); + int nIsOpen = GetIsOpen(OBJECT_SELF); + + object oUser = GetLastUsedBy(); + + // Allow for traps and locks + if (GetIsTrapped(OBJECT_SELF)) {return;} + + if (GetLocked(OBJECT_SELF)) { + // See if we have the key and unlock if so + string sKey = GetTrapKeyTag(OBJECT_SELF); + object oKey = GetItemPossessedBy(oUser, sKey); + if (sKey != "" && GetIsObjectValid(oKey)) { + SendMessageToPC(oUser, GetStringByStrRef(7945)); + SetLocked(OBJECT_SELF, FALSE); + } else { + // Print '*locked*' message and play sound + DelayCommand(0.1, PlaySound("as_dr_locked2")); + FloatingTextStringOnCreature("*" + + GetStringByStrRef(8307) + + "*", + oUser); + SendMessageToPC(oUser, GetStringByStrRef(8296)); + return; + } + } + //if the object is locked, it cannot be opened or closed + + if (sGateBlock == ""){ // if the item is not a door + if (nIsOpen == 0) + { + PlayAnimation(ANIMATION_PLACEABLE_OPEN); + } + else + { + PlayAnimation(ANIMATION_PLACEABLE_CLOSE); + } + return; + } + + if (nIsOpen == 0) //if the item is a door + { + object oSelf = OBJECT_SELF; + PlayAnimation(ANIMATION_PLACEABLE_OPEN); + if (GetLocalObject(oSelf, "GateBlock")!= OBJECT_INVALID) + { + DestroyObject(GetLocalObject(oSelf, "GateBlock")); + SetLocalObject(oSelf, "GateBlock", OBJECT_INVALID); + } + } + else + { + object oSelf = OBJECT_SELF; + PlayAnimation(ANIMATION_PLACEABLE_CLOSE); + SetLocalObject(oSelf, "GateBlock", CreateObject(OBJECT_TYPE_PLACEABLE, sGateBlock, lSelfLoc)); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_oper_mantic.ncs b/cep_blueprints/_hak/prc_add_sb/zep_oper_mantic.ncs new file mode 100644 index 0000000..5ef6f41 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_oper_mantic.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_oper_mantic.nss b/cep_blueprints/_hak/prc_add_sb/zep_oper_mantic.nss new file mode 100644 index 0000000..50187ca --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_oper_mantic.nss @@ -0,0 +1,129 @@ +//:://///////////////////////////////////////////// +//:: On Percieve - Manticore +//:: CODI_OPER_MANTIC.NSS +//::////////////////////////////////////////////// +/* + Checks to see if the perceived target is an + enemy and if so will start combat by launching + a volley of spikes. +*/ +//::////////////////////////////////////////////// +//:: Created By: Shkuey +//:: Created On: Dec 14, 2002 +//::////////////////////////////////////////////// + +#include "NW_I0_GENERIC" +void SpikeAttack(object oTarget); +void main() +{ + //This is the equivalent of a force conversation bubble, should only be used if you want an NPC + //to say something while he is already engaged in combat. + if(GetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION) && GetIsPC(GetLastPerceived()) && GetLastPerceptionSeen()) + { + SpeakOneLinerConversation(); + } + //If the last perception event was hearing based or if someone vanished then go to search mode + if ((GetLastPerceptionVanished()) && GetIsEnemy(GetLastPerceived())) + { + object oGone = GetLastPerceived(); + if((GetAttemptedAttackTarget() == GetLastPerceived() || + GetAttemptedSpellTarget() == GetLastPerceived() || + GetAttackTarget() == GetLastPerceived()) && GetArea(GetLastPerceived()) != GetArea(OBJECT_SELF)) + { + ClearAllActions(); + DetermineCombatRound(); + } + } + //Do not bother checking the last target seen if already fighting + else if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget())) + { + //Check if the last percieved creature was actually seen + if(GetLastPerceptionSeen()) + { + if(GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL)) + { + DetermineSpecialBehavior(); + } + else if(GetIsEnemy(GetLastPerceived())) + { + if(!GetHasEffect(EFFECT_TYPE_SLEEP)) + { + SetFacingPoint(GetPosition(GetLastPerceived())); + SpeakString("NW_I_WAS_ATTACKED", TALKVOLUME_SILENT_TALK); + int iSpikes = GetLocalInt(OBJECT_SELF,"CODI_MANT_SPIKE"); + int iDay = GetLocalInt(OBJECT_SELF,"CODI_MANT_SPIKE_DAY"); + if (GetCalendarDay() != iDay) + { + iSpikes = 0; + iDay = GetCalendarDay(); + } + if (iSpikes < 4 && GetDistanceBetween(GetLastPerceived(),OBJECT_SELF)>5.0) + { + iSpikes++; + object oTarget = GetLastPerceived(); + ClearAllActions(); + SetFacingPoint(GetPosition(oTarget)); + ActionCastFakeSpellAtObject(SPELL_MAGIC_MISSILE,oTarget); + SetCommandable(0,OBJECT_SELF); + DelayCommand(1.0,SetCommandable(1,OBJECT_SELF)); + DelayCommand(1.05,ActionDoCommand(SpikeAttack(oTarget))); + DelayCommand(1.1,SetCommandable(0,OBJECT_SELF)); + DelayCommand(1.2,SetCommandable(1,OBJECT_SELF)); + DelayCommand(1.25,ActionDoCommand(SpikeAttack(oTarget))); + DelayCommand(1.3,SetCommandable(0,OBJECT_SELF)); + DelayCommand(1.4,SetCommandable(1,OBJECT_SELF)); + DelayCommand(1.45,ActionDoCommand(SpikeAttack(oTarget))); + DelayCommand(1.5,SetCommandable(0,OBJECT_SELF)); + DelayCommand(1.6,SetCommandable(1,OBJECT_SELF)); + DelayCommand(1.65,ActionDoCommand(SpikeAttack(oTarget))); + DelayCommand(1.7,SetCommandable(0,OBJECT_SELF)); + DelayCommand(1.8,SetCommandable(1,OBJECT_SELF)); + DelayCommand(1.85,ActionDoCommand(SpikeAttack(oTarget))); + DelayCommand(1.9,SetCommandable(0,OBJECT_SELF)); + DelayCommand(2.0,SetCommandable(1,OBJECT_SELF)); + DelayCommand(2.05,ActionDoCommand(SpikeAttack(oTarget))); + } + else + { + DetermineCombatRound(); + } + SetLocalInt(OBJECT_SELF,"CODI_MANT_SPIKE",iSpikes); + SetLocalInt(OBJECT_SELF,"CODI_MANT_SPIKE_DAY",GetCalendarDay()); + } + } + //Linked up to the special conversation check to initiate a special one-off conversation + //to get the PCs attention + else if(GetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION) && GetIsPC(GetLastPerceived())) + { + ActionStartConversation(OBJECT_SELF); + } + } + } + if(GetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT) && GetLastPerceptionSeen()) + { + SignalEvent(OBJECT_SELF, EventUserDefined(1002)); + } +} +void SpikeAttack(object oTarget) +{ + int iAttack = TouchAttackRanged(oTarget); + effect eHit = EffectVisualEffect(VFX_COM_BLOOD_CRT_RED); + effect eDmg; + switch(iAttack) + { + case 0: + eHit = EffectVisualEffect(VFX_COM_BLOOD_SPARK_MEDIUM,TRUE); + ApplyEffectToObject(DURATION_TYPE_INSTANT,eHit,oTarget); + break; + case 1: + eDmg = EffectDamage(d8() + 2,DAMAGE_TYPE_PIERCING,DAMAGE_POWER_PLUS_TWO); + ApplyEffectToObject(DURATION_TYPE_INSTANT,eHit,oTarget); + ApplyEffectToObject(DURATION_TYPE_INSTANT,eDmg,oTarget); + break; + case 2: + eDmg = EffectDamage(d8(2) + 4,DAMAGE_TYPE_PIERCING,DAMAGE_POWER_PLUS_TWO); + ApplyEffectToObject(DURATION_TYPE_INSTANT,eHit,oTarget); + ApplyEffectToObject(DURATION_TYPE_INSTANT,eDmg,oTarget); + break; + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_opollntrn001.utp b/cep_blueprints/_hak/prc_add_sb/zep_opollntrn001.utp new file mode 100644 index 0000000..080422b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_opollntrn001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_orc.utc b/cep_blueprints/_hak/prc_add_sb/zep_orc.utc new file mode 100644 index 0000000..ba0796e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_orc.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_orc2.utc b/cep_blueprints/_hak/prc_add_sb/zep_orc2.utc new file mode 100644 index 0000000..fb4258f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_orc2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_orc3.utc b/cep_blueprints/_hak/prc_add_sb/zep_orc3.utc new file mode 100644 index 0000000..e1f4357 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_orc3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_orc4.utc b/cep_blueprints/_hak/prc_add_sb/zep_orc4.utc new file mode 100644 index 0000000..f8b31de Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_orc4.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_orcaxe.utp b/cep_blueprints/_hak/prc_add_sb/zep_orcaxe.utp new file mode 100644 index 0000000..0b7db6a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_orcaxe.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_orcbloodg.utc b/cep_blueprints/_hak/prc_add_sb/zep_orcbloodg.utc new file mode 100644 index 0000000..a2236cd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_orcbloodg.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_orcboss.utc b/cep_blueprints/_hak/prc_add_sb/zep_orcboss.utc new file mode 100644 index 0000000..4ee9300 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_orcboss.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_orcmerc.utc b/cep_blueprints/_hak/prc_add_sb/zep_orcmerc.utc new file mode 100644 index 0000000..d11ebc3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_orcmerc.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_orcspike001.utp b/cep_blueprints/_hak/prc_add_sb/zep_orcspike001.utp new file mode 100644 index 0000000..a928ff9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_orcspike001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_orcspike002.utp b/cep_blueprints/_hak/prc_add_sb/zep_orcspike002.utp new file mode 100644 index 0000000..f1255ba Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_orcspike002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_orctrebdy001.utp b/cep_blueprints/_hak/prc_add_sb/zep_orctrebdy001.utp new file mode 100644 index 0000000..8edd230 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_orctrebdy001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_orctrture001.utp b/cep_blueprints/_hak/prc_add_sb/zep_orctrture001.utp new file mode 100644 index 0000000..37147a1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_orctrture001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_orctrture002.utp b/cep_blueprints/_hak/prc_add_sb/zep_orctrture002.utp new file mode 100644 index 0000000..acd54f0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_orctrture002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ori001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ori001.utp new file mode 100644 index 0000000..1c8dbde Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ori001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ori002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ori002.utp new file mode 100644 index 0000000..dfca103 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ori002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ori003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ori003.utp new file mode 100644 index 0000000..41574b2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ori003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_orisign001.utp b/cep_blueprints/_hak/prc_add_sb/zep_orisign001.utp new file mode 100644 index 0000000..401ac11 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_orisign001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_orisign002.utp b/cep_blueprints/_hak/prc_add_sb/zep_orisign002.utp new file mode 100644 index 0000000..c6670d9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_orisign002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sar_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sar_001.utp new file mode 100644 index 0000000..146d7b1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sar_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_scm_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_scm_001.utp new file mode 100644 index 0000000..c8e8a8c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_scm_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sds_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sds_001.utp new file mode 100644 index 0000000..85913e0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sds_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sn0_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sn0_001.utp new file mode 100644 index 0000000..a842251 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sn0_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sn1_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sn1_001.utp new file mode 100644 index 0000000..3ea301a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sn1_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sn2_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sn2_001.utp new file mode 100644 index 0000000..b5d3fb4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sn2_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sn3_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sn3_001.utp new file mode 100644 index 0000000..8640bbd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sn3_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sn4_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sn4_001.utp new file mode 100644 index 0000000..3322efc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sn4_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sn5_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sn5_001.utp new file mode 100644 index 0000000..5456d5d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sn5_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sn6_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sn6_001.utp new file mode 100644 index 0000000..251491a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sn6_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sn7_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sn7_001.utp new file mode 100644 index 0000000..bd7d359 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sn7_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sn8_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sn8_001.utp new file mode 100644 index 0000000..75e214b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sn8_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sn9_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sn9_001.utp new file mode 100644 index 0000000..8666e4d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sn9_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sna_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sna_001.utp new file mode 100644 index 0000000..f5407c6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sna_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sna_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sna_002.utp new file mode 100644 index 0000000..b2ac5a9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sna_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snb_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snb_001.utp new file mode 100644 index 0000000..8ff7efa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snb_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snb_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snb_002.utp new file mode 100644 index 0000000..80e672b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snb_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snc_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snc_001.utp new file mode 100644 index 0000000..5c6610f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snc_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snc_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snc_002.utp new file mode 100644 index 0000000..cf856fb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snc_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snd_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snd_001.utp new file mode 100644 index 0000000..f3fcfc7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snd_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snd_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snd_002.utp new file mode 100644 index 0000000..f047896 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snd_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sne_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sne_001.utp new file mode 100644 index 0000000..46a016d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sne_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sne_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sne_002.utp new file mode 100644 index 0000000..418f620 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sne_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snf_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snf_001.utp new file mode 100644 index 0000000..fb2c609 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snf_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snf_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snf_002.utp new file mode 100644 index 0000000..04befc2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snf_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sng_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sng_001.utp new file mode 100644 index 0000000..73f10c3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sng_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sng_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sng_002.utp new file mode 100644 index 0000000..d4b7131 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sng_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snh_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snh_001.utp new file mode 100644 index 0000000..bd8c96e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snh_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snh_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snh_002.utp new file mode 100644 index 0000000..47701d6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snh_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sni_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sni_001.utp new file mode 100644 index 0000000..287b21b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sni_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sni_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sni_002.utp new file mode 100644 index 0000000..0cbe8cf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sni_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snj_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snj_001.utp new file mode 100644 index 0000000..530fa93 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snj_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snj_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snj_002.utp new file mode 100644 index 0000000..5cb0f4f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snj_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snk_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snk_001.utp new file mode 100644 index 0000000..025c55c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snk_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snk_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snk_002.utp new file mode 100644 index 0000000..285d5d3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snk_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snl_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snl_001.utp new file mode 100644 index 0000000..075c8df Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snl_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snl_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snl_002.utp new file mode 100644 index 0000000..614a2f1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snl_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snm_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snm_001.utp new file mode 100644 index 0000000..c345e67 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snm_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snm_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snm_002.utp new file mode 100644 index 0000000..df8859d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snm_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snn_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snn_001.utp new file mode 100644 index 0000000..2c447cc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snn_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snn_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snn_002.utp new file mode 100644 index 0000000..0d6ecb7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snn_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sno_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sno_001.utp new file mode 100644 index 0000000..65e98eb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sno_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sno_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sno_002.utp new file mode 100644 index 0000000..55344ab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sno_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snp_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snp_001.utp new file mode 100644 index 0000000..f64fd9f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snp_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snp_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snp_002.utp new file mode 100644 index 0000000..b39b067 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snp_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snq_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snq_001.utp new file mode 100644 index 0000000..451b313 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snq_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snq_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snq_002.utp new file mode 100644 index 0000000..390b465 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snq_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snr_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snr_001.utp new file mode 100644 index 0000000..ec9b1e0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snr_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snr_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snr_002.utp new file mode 100644 index 0000000..91742c6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snr_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sns_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sns_001.utp new file mode 100644 index 0000000..e6f521b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sns_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sns_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sns_002.utp new file mode 100644 index 0000000..2c15a4e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sns_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snt_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snt_001.utp new file mode 100644 index 0000000..9a45a0f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snt_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snt_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snt_002.utp new file mode 100644 index 0000000..fd1ff76 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snt_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snu_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snu_001.utp new file mode 100644 index 0000000..ed1d969 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snu_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snu_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snu_002.utp new file mode 100644 index 0000000..719d0d5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snu_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snv_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snv_001.utp new file mode 100644 index 0000000..a2fa870 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snv_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snv_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snv_002.utp new file mode 100644 index 0000000..15632d2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snv_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snw_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snw_001.utp new file mode 100644 index 0000000..d624a06 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snw_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snw_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snw_002.utp new file mode 100644 index 0000000..fbb0112 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snw_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snx_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snx_001.utp new file mode 100644 index 0000000..723a549 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snx_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snx_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snx_002.utp new file mode 100644 index 0000000..d9239ed Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snx_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sny_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sny_001.utp new file mode 100644 index 0000000..6d94fdc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sny_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_sny_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_sny_002.utp new file mode 100644 index 0000000..d9df02d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_sny_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snz_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snz_001.utp new file mode 100644 index 0000000..7edc62c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snz_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_snz_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_snz_002.utp new file mode 100644 index 0000000..088e0d9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_snz_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_os_spd_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_os_spd_001.utp new file mode 100644 index 0000000..0a9fed0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_os_spd_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_oschore.utc b/cep_blueprints/_hak/prc_add_sb/zep_oschore.utc new file mode 100644 index 0000000..ad1447a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_oschore.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_osconce002.utp b/cep_blueprints/_hak/prc_add_sb/zep_osconce002.utp new file mode 100644 index 0000000..8f0e07b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_osconce002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ostnlntrn002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ostnlntrn002.utp new file mode 100644 index 0000000..fa4cedf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ostnlntrn002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ostnlntrn003.utp b/cep_blueprints/_hak/prc_add_sb/zep_ostnlntrn003.utp new file mode 100644 index 0000000..5ae5498 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ostnlntrn003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ostnlntrn004.utp b/cep_blueprints/_hak/prc_add_sb/zep_ostnlntrn004.utp new file mode 100644 index 0000000..5019819 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ostnlntrn004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ostnlntrn005.utp b/cep_blueprints/_hak/prc_add_sb/zep_ostnlntrn005.utp new file mode 100644 index 0000000..30752ba Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ostnlntrn005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_osyluth1.utc b/cep_blueprints/_hak/prc_add_sb/zep_osyluth1.utc new file mode 100644 index 0000000..8c298c3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_osyluth1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_osyluth2.utc b/cep_blueprints/_hak/prc_add_sb/zep_osyluth2.utc new file mode 100644 index 0000000..9b10ddf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_osyluth2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_osyluth3.utc b/cep_blueprints/_hak/prc_add_sb/zep_osyluth3.utc new file mode 100644 index 0000000..2db8604 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_osyluth3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_otorch002.utp b/cep_blueprints/_hak/prc_add_sb/zep_otorch002.utp new file mode 100644 index 0000000..79215f0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_otorch002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_otter.utc b/cep_blueprints/_hak/prc_add_sb/zep_otter.utc new file mode 100644 index 0000000..3b3aaab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_otter.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_oubliette.utp b/cep_blueprints/_hak/prc_add_sb/zep_oubliette.utp new file mode 100644 index 0000000..639fd5c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_oubliette.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_oubliette001.utp b/cep_blueprints/_hak/prc_add_sb/zep_oubliette001.utp new file mode 100644 index 0000000..b128816 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_oubliette001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_outhouse001.utp b/cep_blueprints/_hak/prc_add_sb/zep_outhouse001.utp new file mode 100644 index 0000000..4a85612 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_outhouse001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_owdlantrn002.utp b/cep_blueprints/_hak/prc_add_sb/zep_owdlantrn002.utp new file mode 100644 index 0000000..51a6d5f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_owdlantrn002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_owl_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_owl_001.utc new file mode 100644 index 0000000..0a9b283 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_owl_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_owl_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_owl_002.utc new file mode 100644 index 0000000..96ba3e2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_owl_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_owl_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_owl_003.utc new file mode 100644 index 0000000..b327257 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_owl_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_owl_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_owl_004.utc new file mode 100644 index 0000000..15bee4c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_owl_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_owl_005.utc b/cep_blueprints/_hak/prc_add_sb/zep_owl_005.utc new file mode 100644 index 0000000..85a3014 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_owl_005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_owl_006.utc b/cep_blueprints/_hak/prc_add_sb/zep_owl_006.utc new file mode 100644 index 0000000..57b6b2d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_owl_006.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_owlbear.utc b/cep_blueprints/_hak/prc_add_sb/zep_owlbear.utc new file mode 100644 index 0000000..c10cb0a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_owlbear.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_oxwithplow.utc b/cep_blueprints/_hak/prc_add_sb/zep_oxwithplow.utc new file mode 100644 index 0000000..2225481 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_oxwithplow.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_packbadger.utc b/cep_blueprints/_hak/prc_add_sb/zep_packbadger.utc new file mode 100644 index 0000000..d88c357 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_packbadger.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_packbear.utc b/cep_blueprints/_hak/prc_add_sb/zep_packbear.utc new file mode 100644 index 0000000..d7be8b8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_packbear.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_packbeetle.utc b/cep_blueprints/_hak/prc_add_sb/zep_packbeetle.utc new file mode 100644 index 0000000..8cf554a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_packbeetle.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_packboar.utc b/cep_blueprints/_hak/prc_add_sb/zep_packboar.utc new file mode 100644 index 0000000..0423896 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_packboar.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_packox.utc b/cep_blueprints/_hak/prc_add_sb/zep_packox.utc new file mode 100644 index 0000000..fcd643a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_packox.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_packox2.utc b/cep_blueprints/_hak/prc_add_sb/zep_packox2.utc new file mode 100644 index 0000000..8be0675 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_packox2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_packpenguin.utc b/cep_blueprints/_hak/prc_add_sb/zep_packpenguin.utc new file mode 100644 index 0000000..187d448 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_packpenguin.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_painting.utp b/cep_blueprints/_hak/prc_add_sb/zep_painting.utp new file mode 100644 index 0000000..ac2969a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_painting.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_painting001.utp b/cep_blueprints/_hak/prc_add_sb/zep_painting001.utp new file mode 100644 index 0000000..fa18e7c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_painting001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_painting002.utp b/cep_blueprints/_hak/prc_add_sb/zep_painting002.utp new file mode 100644 index 0000000..72464c9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_painting002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_painting003.utp b/cep_blueprints/_hak/prc_add_sb/zep_painting003.utp new file mode 100644 index 0000000..93d9c2c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_painting003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_painting004.utp b/cep_blueprints/_hak/prc_add_sb/zep_painting004.utp new file mode 100644 index 0000000..73ceee8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_painting004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_painting005.utp b/cep_blueprints/_hak/prc_add_sb/zep_painting005.utp new file mode 100644 index 0000000..f657226 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_painting005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_painting006.utp b/cep_blueprints/_hak/prc_add_sb/zep_painting006.utp new file mode 100644 index 0000000..9a79c36 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_painting006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_paintingcity.utp b/cep_blueprints/_hak/prc_add_sb/zep_paintingcity.utp new file mode 100644 index 0000000..a530b84 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_paintingcity.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_papoose.uti b/cep_blueprints/_hak/prc_add_sb/zep_papoose.uti new file mode 100644 index 0000000..f9bfa36 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_papoose.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_patchnoaatt.ncs b/cep_blueprints/_hak/prc_add_sb/zep_patchnoaatt.ncs new file mode 100644 index 0000000..2c096aa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_patchnoaatt.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_patchnoaatt.nss b/cep_blueprints/_hak/prc_add_sb/zep_patchnoaatt.nss new file mode 100644 index 0000000..ecdbcdc --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_patchnoaatt.nss @@ -0,0 +1,19 @@ +//:://///////////////////////////////////////////// +//:: patchnoattack +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Derrick's script to make combat dummies not attack + you. + +*/ +//::////////////////////////////////////////////// +//:: Created By: +//:: Created On: +//::////////////////////////////////////////////// +void main() +{ + object oPC = GetLastAttacker(); + SetIsTemporaryFriend(oPC,OBJECT_SELF,FALSE,0.001); + DelayCommand(0.001,SetIsTemporaryEnemy(oPC)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_path001.utp b/cep_blueprints/_hak/prc_add_sb/zep_path001.utp new file mode 100644 index 0000000..3606312 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_path001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_path002.utp b/cep_blueprints/_hak/prc_add_sb/zep_path002.utp new file mode 100644 index 0000000..f22f903 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_path002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_path003.utp b/cep_blueprints/_hak/prc_add_sb/zep_path003.utp new file mode 100644 index 0000000..c7efc6c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_path003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_path004.utp b/cep_blueprints/_hak/prc_add_sb/zep_path004.utp new file mode 100644 index 0000000..05e8c83 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_path004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_path005.utp b/cep_blueprints/_hak/prc_add_sb/zep_path005.utp new file mode 100644 index 0000000..306d1e6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_path005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_path006.utp b/cep_blueprints/_hak/prc_add_sb/zep_path006.utp new file mode 100644 index 0000000..8e1db3d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_path006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_path007.utp b/cep_blueprints/_hak/prc_add_sb/zep_path007.utp new file mode 100644 index 0000000..403ec89 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_path007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_path008.utp b/cep_blueprints/_hak/prc_add_sb/zep_path008.utp new file mode 100644 index 0000000..c4d8595 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_path008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_path009.utp b/cep_blueprints/_hak/prc_add_sb/zep_path009.utp new file mode 100644 index 0000000..c24332e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_path009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pc_has_holyw.ncs b/cep_blueprints/_hak/prc_add_sb/zep_pc_has_holyw.ncs new file mode 100644 index 0000000..73955a6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pc_has_holyw.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pc_has_holyw.nss b/cep_blueprints/_hak/prc_add_sb/zep_pc_has_holyw.nss new file mode 100644 index 0000000..931b414 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_pc_has_holyw.nss @@ -0,0 +1,45 @@ +//:://///////////////////////////////////////////// +//:: zep_pc_has_holyw +//::////////////////////////////////////////////// +/* + Checks if the PC has the special Holy Water item + needed to destroy a demilich. + Despite the name, this function will check for + whatever item is specified by ZEP_DEMI_DEST_TAG. + + Also defines custom token 1001 to hold the name + of the item specified by ZEP_DEMI_DEST_TAG. + + Used by conversation zep_demi_regen_c. +*/ +//::////////////////////////////////////////////// +//:: Created by: ?? +//:: Created on: ?? +//::////////////////////////////////////////////// +//:: Modified by: The Krit +//:: Modified on: May 10, 2007 +//::////////////////////////////////////////////// + + +#include "zep_inc_demi" + + +int StartingConditional() +{ + object oPC=GetPCSpeaker(); + + // Check if PC has the demilich-destroying item. + // (Referred to as "HolyWater" in code since that is the default.) + object oHolyWater = GetItemPossessedBy(oPC, ZEP_DEMI_DEST_TAG); + + // If PC does not have the right item, return FALSE. + if ( oHolyWater == OBJECT_INVALID ) + return FALSE; + + // Store the name of the special item in custom token 1001. + SetCustomToken(1001, GetName(oHolyWater)); + + // PC has the item, so return TRUE. + return TRUE; +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_peas.utp b/cep_blueprints/_hak/prc_add_sb/zep_peas.utp new file mode 100644 index 0000000..5dd724a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_peas.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_peccary.utc b/cep_blueprints/_hak/prc_add_sb/zep_peccary.utc new file mode 100644 index 0000000..18417a0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_peccary.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pendulum001.utp b/cep_blueprints/_hak/prc_add_sb/zep_pendulum001.utp new file mode 100644 index 0000000..cda6732 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pendulum001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pentagram001.utp b/cep_blueprints/_hak/prc_add_sb/zep_pentagram001.utp new file mode 100644 index 0000000..742a919 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pentagram001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pentagram002.utp b/cep_blueprints/_hak/prc_add_sb/zep_pentagram002.utp new file mode 100644 index 0000000..5f0faeb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pentagram002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_perrier.utp b/cep_blueprints/_hak/prc_add_sb/zep_perrier.utp new file mode 100644 index 0000000..a04ba64 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_perrier.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pheonixflag.utp b/cep_blueprints/_hak/prc_add_sb/zep_pheonixflag.utp new file mode 100644 index 0000000..45fc964 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pheonixflag.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_phyrexiann1.utc b/cep_blueprints/_hak/prc_add_sb/zep_phyrexiann1.utc new file mode 100644 index 0000000..4dc851e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_phyrexiann1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_phyrexiann2.utc b/cep_blueprints/_hak/prc_add_sb/zep_phyrexiann2.utc new file mode 100644 index 0000000..a942459 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_phyrexiann2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_piano.utp b/cep_blueprints/_hak/prc_add_sb/zep_piano.utp new file mode 100644 index 0000000..32873fd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_piano.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_piano001.utp b/cep_blueprints/_hak/prc_add_sb/zep_piano001.utp new file mode 100644 index 0000000..6406c78 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_piano001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_piano002.utp b/cep_blueprints/_hak/prc_add_sb/zep_piano002.utp new file mode 100644 index 0000000..0f40750 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_piano002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_piano003.utp b/cep_blueprints/_hak/prc_add_sb/zep_piano003.utp new file mode 100644 index 0000000..dc62607 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_piano003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pic01.utp b/cep_blueprints/_hak/prc_add_sb/zep_pic01.utp new file mode 100644 index 0000000..1290d93 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pic01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pic02.utp b/cep_blueprints/_hak/prc_add_sb/zep_pic02.utp new file mode 100644 index 0000000..8a34b6a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pic02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pic03.utp b/cep_blueprints/_hak/prc_add_sb/zep_pic03.utp new file mode 100644 index 0000000..b0fffaa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pic03.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pie001.utp b/cep_blueprints/_hak/prc_add_sb/zep_pie001.utp new file mode 100644 index 0000000..831983e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pie001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pie002.utp b/cep_blueprints/_hak/prc_add_sb/zep_pie002.utp new file mode 100644 index 0000000..834b154 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pie002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pig.utc b/cep_blueprints/_hak/prc_add_sb/zep_pig.utc new file mode 100644 index 0000000..c908b06 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pig.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pig_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_pig_002.utc new file mode 100644 index 0000000..4bc2ce9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pig_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pig_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_pig_003.utc new file mode 100644 index 0000000..10bc58b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pig_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pig_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_pig_004.utc new file mode 100644 index 0000000..0d2bbae Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pig_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pig_005.utc b/cep_blueprints/_hak/prc_add_sb/zep_pig_005.utc new file mode 100644 index 0000000..993348f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pig_005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pig_006.utc b/cep_blueprints/_hak/prc_add_sb/zep_pig_006.utc new file mode 100644 index 0000000..785ba0d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pig_006.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pig_007.utc b/cep_blueprints/_hak/prc_add_sb/zep_pig_007.utc new file mode 100644 index 0000000..ef1adec Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pig_007.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pig_008.utc b/cep_blueprints/_hak/prc_add_sb/zep_pig_008.utc new file mode 100644 index 0000000..52a02eb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pig_008.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pigpot.utc b/cep_blueprints/_hak/prc_add_sb/zep_pigpot.utc new file mode 100644 index 0000000..17647b4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pigpot.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pileofpmpkns.utp b/cep_blueprints/_hak/prc_add_sb/zep_pileofpmpkns.utp new file mode 100644 index 0000000..cb63b4b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pileofpmpkns.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pillar001.utp b/cep_blueprints/_hak/prc_add_sb/zep_pillar001.utp new file mode 100644 index 0000000..fbfd3ba Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pillar001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pillar002.utp b/cep_blueprints/_hak/prc_add_sb/zep_pillar002.utp new file mode 100644 index 0000000..1aeee5a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pillar002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pillar003.utp b/cep_blueprints/_hak/prc_add_sb/zep_pillar003.utp new file mode 100644 index 0000000..80db942 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pillar003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pillar004.utp b/cep_blueprints/_hak/prc_add_sb/zep_pillar004.utp new file mode 100644 index 0000000..1447e02 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pillar004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pillar005.utp b/cep_blueprints/_hak/prc_add_sb/zep_pillar005.utp new file mode 100644 index 0000000..a780d9f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pillar005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pillarmrble1.utp b/cep_blueprints/_hak/prc_add_sb/zep_pillarmrble1.utp new file mode 100644 index 0000000..438c48b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pillarmrble1.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pillow.utp b/cep_blueprints/_hak/prc_add_sb/zep_pillow.utp new file mode 100644 index 0000000..e8f6d69 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pillow.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pillrmrbl002.utp b/cep_blueprints/_hak/prc_add_sb/zep_pillrmrbl002.utp new file mode 100644 index 0000000..2e63e3c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pillrmrbl002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinecanopy.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinecanopy.utp new file mode 100644 index 0000000..d018be3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinecanopy.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr1.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr1.utp new file mode 100644 index 0000000..c429fd6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr1.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr10.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr10.utp new file mode 100644 index 0000000..56d1ebf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr10.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr11.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr11.utp new file mode 100644 index 0000000..f1f5895 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr11.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr12.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr12.utp new file mode 100644 index 0000000..1977d4f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr12.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr13.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr13.utp new file mode 100644 index 0000000..f597e57 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr13.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr14.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr14.utp new file mode 100644 index 0000000..5862370 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr14.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr15.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr15.utp new file mode 100644 index 0000000..50fc331 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr15.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr16.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr16.utp new file mode 100644 index 0000000..024ec5a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr16.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr17.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr17.utp new file mode 100644 index 0000000..28e505a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr17.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr18.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr18.utp new file mode 100644 index 0000000..6e2b01c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr18.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr19.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr19.utp new file mode 100644 index 0000000..355aceb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr19.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr2.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr2.utp new file mode 100644 index 0000000..eb799d2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr2.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr20.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr20.utp new file mode 100644 index 0000000..4b6ca18 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr20.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr21.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr21.utp new file mode 100644 index 0000000..a49f9fa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr21.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr22.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr22.utp new file mode 100644 index 0000000..a8b2702 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr22.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr23.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr23.utp new file mode 100644 index 0000000..e427dc0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr23.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr24.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr24.utp new file mode 100644 index 0000000..73817cc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr24.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr25.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr25.utp new file mode 100644 index 0000000..5fb480a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr25.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr26.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr26.utp new file mode 100644 index 0000000..be61738 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr26.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr27.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr27.utp new file mode 100644 index 0000000..abce480 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr27.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr28.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr28.utp new file mode 100644 index 0000000..4ea31f0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr28.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr3.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr3.utp new file mode 100644 index 0000000..b6532eb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr3.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr4.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr4.utp new file mode 100644 index 0000000..47c58ca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr4.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr5.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr5.utp new file mode 100644 index 0000000..8dd4d05 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr5.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr6.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr6.utp new file mode 100644 index 0000000..e521345 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr6.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr7.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr7.utp new file mode 100644 index 0000000..b75245a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr7.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr8.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr8.utp new file mode 100644 index 0000000..1494424 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr8.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pinetr9.utp b/cep_blueprints/_hak/prc_add_sb/zep_pinetr9.utp new file mode 100644 index 0000000..98bb49f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pinetr9.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pipes.uti b/cep_blueprints/_hak/prc_add_sb/zep_pipes.uti new file mode 100644 index 0000000..8a20ace Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pipes.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_piranha_01.utc b/cep_blueprints/_hak/prc_add_sb/zep_piranha_01.utc new file mode 100644 index 0000000..8eafa0b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_piranha_01.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_piranha_02.utc b/cep_blueprints/_hak/prc_add_sb/zep_piranha_02.utc new file mode 100644 index 0000000..798a3e2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_piranha_02.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_piranha_03.utc b/cep_blueprints/_hak/prc_add_sb/zep_piranha_03.utc new file mode 100644 index 0000000..a94b9f4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_piranha_03.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pitcher001.utp b/cep_blueprints/_hak/prc_add_sb/zep_pitcher001.utp new file mode 100644 index 0000000..7d3c462 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pitcher001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pitfiend.utc b/cep_blueprints/_hak/prc_add_sb/zep_pitfiend.utc new file mode 100644 index 0000000..f1c36c4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pitfiend.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pixie.utc b/cep_blueprints/_hak/prc_add_sb/zep_pixie.utc new file mode 100644 index 0000000..6033221 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pixie.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pixie_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_pixie_001.utc new file mode 100644 index 0000000..178ee7f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pixie_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pixie_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_pixie_002.utc new file mode 100644 index 0000000..3201bae Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pixie_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pixie_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_pixie_003.utc new file mode 100644 index 0000000..5704afd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pixie_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pixie_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_pixie_004.utc new file mode 100644 index 0000000..80a41a2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pixie_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pixieoutfit.uti b/cep_blueprints/_hak/prc_add_sb/zep_pixieoutfit.uti new file mode 100644 index 0000000..129c417 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pixieoutfit.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_planetarf.utc b/cep_blueprints/_hak/prc_add_sb/zep_planetarf.utc new file mode 100644 index 0000000..9e1e9b0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_planetarf.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_planetarfal.uti b/cep_blueprints/_hak/prc_add_sb/zep_planetarfal.uti new file mode 100644 index 0000000..6d458f2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_planetarfal.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_planetarls.uti b/cep_blueprints/_hak/prc_add_sb/zep_planetarls.uti new file mode 100644 index 0000000..cf6c4b6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_planetarls.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_planetarm.utc b/cep_blueprints/_hak/prc_add_sb/zep_planetarm.utc new file mode 100644 index 0000000..91ce684 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_planetarm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_planetouched.uti b/cep_blueprints/_hak/prc_add_sb/zep_planetouched.uti new file mode 100644 index 0000000..d17cf9e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_planetouched.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_plant001.utp b/cep_blueprints/_hak/prc_add_sb/zep_plant001.utp new file mode 100644 index 0000000..bd01ccc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_plant001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_plant002.utp b/cep_blueprints/_hak/prc_add_sb/zep_plant002.utp new file mode 100644 index 0000000..b865ef3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_plant002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_plant003.utp b/cep_blueprints/_hak/prc_add_sb/zep_plant003.utp new file mode 100644 index 0000000..5e3cd9e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_plant003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_plant004.utp b/cep_blueprints/_hak/prc_add_sb/zep_plant004.utp new file mode 100644 index 0000000..ced1cdd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_plant004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_plant005.utp b/cep_blueprints/_hak/prc_add_sb/zep_plant005.utp new file mode 100644 index 0000000..188624c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_plant005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_plant006.utp b/cep_blueprints/_hak/prc_add_sb/zep_plant006.utp new file mode 100644 index 0000000..c0680d6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_plant006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_plant007.utp b/cep_blueprints/_hak/prc_add_sb/zep_plant007.utp new file mode 100644 index 0000000..6419580 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_plant007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_plant008.utp b/cep_blueprints/_hak/prc_add_sb/zep_plant008.utp new file mode 100644 index 0000000..08ca3bf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_plant008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_plant009.utp b/cep_blueprints/_hak/prc_add_sb/zep_plant009.utp new file mode 100644 index 0000000..16e0c59 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_plant009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_plate.utp b/cep_blueprints/_hak/prc_add_sb/zep_plate.utp new file mode 100644 index 0000000..55c0817 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_plate.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_plate001.utp b/cep_blueprints/_hak/prc_add_sb/zep_plate001.utp new file mode 100644 index 0000000..1182d91 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_plate001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_plate002.utp b/cep_blueprints/_hak/prc_add_sb/zep_plate002.utp new file mode 100644 index 0000000..974eeb0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_plate002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_plate01.utp b/cep_blueprints/_hak/prc_add_sb/zep_plate01.utp new file mode 100644 index 0000000..639e6e2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_plate01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_plate02.utp b/cep_blueprints/_hak/prc_add_sb/zep_plate02.utp new file mode 100644 index 0000000..b67af26 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_plate02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_platesushi.utp b/cep_blueprints/_hak/prc_add_sb/zep_platesushi.utp new file mode 100644 index 0000000..93e0bb9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_platesushi.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pliers.utp b/cep_blueprints/_hak/prc_add_sb/zep_pliers.utp new file mode 100644 index 0000000..17536bc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pliers.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pn_rbw_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_pn_rbw_001.utp new file mode 100644 index 0000000..1cc2639 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pn_rbw_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_001.utp new file mode 100644 index 0000000..9daed9f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_002.utp new file mode 100644 index 0000000..0d5e3e0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_003.utp new file mode 100644 index 0000000..4c65141 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_004.utp new file mode 100644 index 0000000..ca90895 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_005.utp new file mode 100644 index 0000000..cdff2f8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_006.utp new file mode 100644 index 0000000..4e46e4a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_007.utp new file mode 100644 index 0000000..04a100d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_008.utp b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_008.utp new file mode 100644 index 0000000..a79c510 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_009.utp b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_009.utp new file mode 100644 index 0000000..abf9ef2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_010.utp b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_010.utp new file mode 100644 index 0000000..f2b691f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pn_shl_010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pn_stf_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_pn_stf_001.utp new file mode 100644 index 0000000..ba175e9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pn_stf_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pn_stf_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_pn_stf_002.utp new file mode 100644 index 0000000..b0da50f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pn_stf_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pn_stf_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_pn_stf_003.utp new file mode 100644 index 0000000..8b962bc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pn_stf_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pn_stf_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_pn_stf_004.utp new file mode 100644 index 0000000..e9743a9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pn_stf_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pntingcoast2.utp b/cep_blueprints/_hak/prc_add_sb/zep_pntingcoast2.utp new file mode 100644 index 0000000..09045c6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pntingcoast2.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_poisspear.uti b/cep_blueprints/_hak/prc_add_sb/zep_poisspear.uti new file mode 100644 index 0000000..b99f62e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_poisspear.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pollntrn001.utp b/cep_blueprints/_hak/prc_add_sb/zep_pollntrn001.utp new file mode 100644 index 0000000..49e4d9b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pollntrn001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pony_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_pony_001.utc new file mode 100644 index 0000000..b14089e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pony_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pony_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_pony_002.utc new file mode 100644 index 0000000..4da9148 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pony_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pony_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_pony_003.utc new file mode 100644 index 0000000..0a5ebad Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pony_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pony_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_pony_004.utc new file mode 100644 index 0000000..792d0a6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pony_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pony_005.utc b/cep_blueprints/_hak/prc_add_sb/zep_pony_005.utc new file mode 100644 index 0000000..aaa3fe5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pony_005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pool001.utp b/cep_blueprints/_hak/prc_add_sb/zep_pool001.utp new file mode 100644 index 0000000..992cef3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pool001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pool002.utp b/cep_blueprints/_hak/prc_add_sb/zep_pool002.utp new file mode 100644 index 0000000..a93df7a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pool002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pool003.utp b/cep_blueprints/_hak/prc_add_sb/zep_pool003.utp new file mode 100644 index 0000000..5dd1467 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pool003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pool004.utp b/cep_blueprints/_hak/prc_add_sb/zep_pool004.utp new file mode 100644 index 0000000..8201e63 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pool004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pool005.utp b/cep_blueprints/_hak/prc_add_sb/zep_pool005.utp new file mode 100644 index 0000000..e67cd5c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pool005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_portal001.utp b/cep_blueprints/_hak/prc_add_sb/zep_portal001.utp new file mode 100644 index 0000000..6bad0dc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_portal001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_portrait.utp b/cep_blueprints/_hak/prc_add_sb/zep_portrait.utp new file mode 100644 index 0000000..efc8c5a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_portrait.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_portrait001.utp b/cep_blueprints/_hak/prc_add_sb/zep_portrait001.utp new file mode 100644 index 0000000..e025b19 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_portrait001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pot01.utp b/cep_blueprints/_hak/prc_add_sb/zep_pot01.utp new file mode 100644 index 0000000..70d819f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pot01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pot02.utp b/cep_blueprints/_hak/prc_add_sb/zep_pot02.utp new file mode 100644 index 0000000..9ff21c7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pot02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_primus.utc b/cep_blueprints/_hak/prc_add_sb/zep_primus.utc new file mode 100644 index 0000000..f4ea866 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_primus.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ps_fsn_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ps_fsn_001.utp new file mode 100644 index 0000000..015718a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ps_fsn_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pspiderg.utc b/cep_blueprints/_hak/prc_add_sb/zep_pspiderg.utc new file mode 100644 index 0000000..f31b976 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pspiderg.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pspiderl.utc b/cep_blueprints/_hak/prc_add_sb/zep_pspiderl.utc new file mode 100644 index 0000000..3a770f1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pspiderl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pspiderm.utc b/cep_blueprints/_hak/prc_add_sb/zep_pspiderm.utc new file mode 100644 index 0000000..a475fe2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pspiderm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pspiders.utc b/cep_blueprints/_hak/prc_add_sb/zep_pspiders.utc new file mode 100644 index 0000000..30c6735 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pspiders.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pspidert.utc b/cep_blueprints/_hak/prc_add_sb/zep_pspidert.utc new file mode 100644 index 0000000..0252e2c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pspidert.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pudao.uti b/cep_blueprints/_hak/prc_add_sb/zep_pudao.uti new file mode 100644 index 0000000..563f6ce Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pudao.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pudding.utp b/cep_blueprints/_hak/prc_add_sb/zep_pudding.utp new file mode 100644 index 0000000..a8b8117 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pudding.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pumpkin.utc b/cep_blueprints/_hak/prc_add_sb/zep_pumpkin.utc new file mode 100644 index 0000000..3e25f87 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pumpkin.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pumpkinpatch.utp b/cep_blueprints/_hak/prc_add_sb/zep_pumpkinpatch.utp new file mode 100644 index 0000000..5ddf4d7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pumpkinpatch.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pumpkinsign.utp b/cep_blueprints/_hak/prc_add_sb/zep_pumpkinsign.utp new file mode 100644 index 0000000..b92ff00 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pumpkinsign.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pumpwater.utp b/cep_blueprints/_hak/prc_add_sb/zep_pumpwater.utp new file mode 100644 index 0000000..91bd574 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pumpwater.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_purpleworm.utc b/cep_blueprints/_hak/prc_add_sb/zep_purpleworm.utc new file mode 100644 index 0000000..d8006a6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_purpleworm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pygmy_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_pygmy_001.utc new file mode 100644 index 0000000..0ed1620 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pygmy_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pygmy_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_pygmy_002.utc new file mode 100644 index 0000000..b5dd96d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pygmy_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pygmy_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_pygmy_003.utc new file mode 100644 index 0000000..d27522a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pygmy_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_pygmy_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_pygmy_004.utc new file mode 100644 index 0000000..38489e3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_pygmy_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_qotal.utc b/cep_blueprints/_hak/prc_add_sb/zep_qotal.utc new file mode 100644 index 0000000..63ca25a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_qotal.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_quagga_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_quagga_001.utc new file mode 100644 index 0000000..9533888 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_quagga_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_quthmaren.utc b/cep_blueprints/_hak/prc_add_sb/zep_quthmaren.utc new file mode 100644 index 0000000..3e15d62 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_quthmaren.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rabbit_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_rabbit_001.utc new file mode 100644 index 0000000..37cb5c7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rabbit_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rabbit_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_rabbit_002.utc new file mode 100644 index 0000000..d449a99 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rabbit_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rabbit_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_rabbit_003.utc new file mode 100644 index 0000000..e7c7278 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rabbit_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rabbit_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_rabbit_004.utc new file mode 100644 index 0000000..9fe694d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rabbit_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rabbit_005.utc b/cep_blueprints/_hak/prc_add_sb/zep_rabbit_005.utc new file mode 100644 index 0000000..b70f0ac Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rabbit_005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_raccoon.utc b/cep_blueprints/_hak/prc_add_sb/zep_raccoon.utc new file mode 100644 index 0000000..0c0046d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_raccoon.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_raccoon2.utc b/cep_blueprints/_hak/prc_add_sb/zep_raccoon2.utc new file mode 100644 index 0000000..4fcf7f0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_raccoon2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rack001.utp b/cep_blueprints/_hak/prc_add_sb/zep_rack001.utp new file mode 100644 index 0000000..96b9131 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rack001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rail001.utp b/cep_blueprints/_hak/prc_add_sb/zep_rail001.utp new file mode 100644 index 0000000..9184307 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rail001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rail002.utp b/cep_blueprints/_hak/prc_add_sb/zep_rail002.utp new file mode 100644 index 0000000..b727f23 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rail002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rail003.utp b/cep_blueprints/_hak/prc_add_sb/zep_rail003.utp new file mode 100644 index 0000000..bef3149 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rail003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rail004.utp b/cep_blueprints/_hak/prc_add_sb/zep_rail004.utp new file mode 100644 index 0000000..5d16802 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rail004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rail005.utp b/cep_blueprints/_hak/prc_add_sb/zep_rail005.utp new file mode 100644 index 0000000..9cfaede Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rail005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rail006.utp b/cep_blueprints/_hak/prc_add_sb/zep_rail006.utp new file mode 100644 index 0000000..9f74b2c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rail006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rail007.utp b/cep_blueprints/_hak/prc_add_sb/zep_rail007.utp new file mode 100644 index 0000000..b100c14 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rail007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rakshasab.utc b/cep_blueprints/_hak/prc_add_sb/zep_rakshasab.utc new file mode 100644 index 0000000..287c98f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rakshasab.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rakshasaw.utc b/cep_blueprints/_hak/prc_add_sb/zep_rakshasaw.utc new file mode 100644 index 0000000..e1f0a77 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rakshasaw.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rakshasaw2.utc b/cep_blueprints/_hak/prc_add_sb/zep_rakshasaw2.utc new file mode 100644 index 0000000..bb9daff Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rakshasaw2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ratsewer.utc b/cep_blueprints/_hak/prc_add_sb/zep_ratsewer.utc new file mode 100644 index 0000000..d3c5c53 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ratsewer.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_razorboar.utc b/cep_blueprints/_hak/prc_add_sb/zep_razorboar.utc new file mode 100644 index 0000000..f7776bc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_razorboar.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rckprjectles.utp b/cep_blueprints/_hak/prc_add_sb/zep_rckprjectles.utp new file mode 100644 index 0000000..f7f1676 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rckprjectles.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_reaver_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_reaver_001.utc new file mode 100644 index 0000000..49a9085 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_reaver_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_redawning.utp b/cep_blueprints/_hak/prc_add_sb/zep_redawning.utp new file mode 100644 index 0000000..76c8881 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_redawning.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_redawning001.utp b/cep_blueprints/_hak/prc_add_sb/zep_redawning001.utp new file mode 100644 index 0000000..d266b62 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_redawning001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_redawning002.utp b/cep_blueprints/_hak/prc_add_sb/zep_redawning002.utp new file mode 100644 index 0000000..9d4127a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_redawning002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_redawning003.utp b/cep_blueprints/_hak/prc_add_sb/zep_redawning003.utp new file mode 100644 index 0000000..8580688 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_redawning003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_redawning004.utp b/cep_blueprints/_hak/prc_add_sb/zep_redawning004.utp new file mode 100644 index 0000000..e1e74e2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_redawning004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_redawning005.utp b/cep_blueprints/_hak/prc_add_sb/zep_redawning005.utp new file mode 100644 index 0000000..6879e5a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_redawning005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_redawning006.utp b/cep_blueprints/_hak/prc_add_sb/zep_redawning006.utp new file mode 100644 index 0000000..699cd32 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_redawning006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_redawning007.utp b/cep_blueprints/_hak/prc_add_sb/zep_redawning007.utp new file mode 100644 index 0000000..45a8df1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_redawning007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_redfern.utp b/cep_blueprints/_hak/prc_add_sb/zep_redfern.utp new file mode 100644 index 0000000..5e4b51c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_redfern.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rednose.utc b/cep_blueprints/_hak/prc_add_sb/zep_rednose.utc new file mode 100644 index 0000000..890f382 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rednose.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_redpanda.utc b/cep_blueprints/_hak/prc_add_sb/zep_redpanda.utc new file mode 100644 index 0000000..d519f9a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_redpanda.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_restded_deth.ncs b/cep_blueprints/_hak/prc_add_sb/zep_restded_deth.ncs new file mode 100644 index 0000000..cecd16b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_restded_deth.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_restded_deth.nss b/cep_blueprints/_hak/prc_add_sb/zep_restded_deth.nss new file mode 100644 index 0000000..f713ed1 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_restded_deth.nss @@ -0,0 +1,70 @@ +//::////////////////////////////////////////////////// +//:: zep_restded_deth +/* + Modified Default OnDeath event handler for NPCs. +(modified by Loki Hakanin of the CEP team) + Adjusts killer's alignment if appropriate and + alerts allies to our death. +************************************** +NOTE FROM LOKI +************************************** +Since this is designed to be used with the Restless Dead +Creature in the CEP, it is designed to randomly respawn a new +Restless Dead a random % of the time (this is defined in the +constant ZEP_RESTLESS_DEAD_RESPAWN_CHANCE in the zep_inc_monster +file). + */ +//::////////////////////////////////////////////////// +//:: Copyright (c) 2002 Floodgate Entertainment +//:: Created By: Naomi Novik +//:: Modified by: Loki Hakanin +//:: Created On: 12/22/2002 +//::////////////////////////////////////////////////// + +#include "x2_inc_compon" +#include "x0_i0_spawncond" +#include "zep_inc_monster" + +void main() +{ + int nClass = GetLevelByClass(CLASS_TYPE_COMMONER); + int nAlign = GetAlignmentGoodEvil(OBJECT_SELF); + object oKiller = GetLastKiller(); + + // If we're a good/neutral commoner, + // adjust the killer's alignment evil + if(nClass > 0 && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL)) + { + AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5); + } + + // Call to allies to let them know we're dead + SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK); + + //Shout Attack my target, only works with the On Spawn In setup + SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK); + + // NOTE: the OnDeath user-defined event does not + // trigger reliably and should probably be removed + if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT)) + { + SignalEvent(OBJECT_SELF, EventUserDefined(1007)); + } + craft_drop_items(oKiller); + + //************************************************** + //************** Begin code block by Loki ********** + //************************************************** + + //Generate a percentile roll (0-99) and check if it + //is strictly les than the respawn chance. + int nRandomChance=Random(100); + //If our random number is less than the respawn chance, + //we have a respawn. Respawn is handled by the + //restless dead respawn placable, so we'll just drop one + //here. + if (nRandomChance < ZEP_RESTLESS_DEAD_RESPAWN_CHANCE) + { + CreateObject(OBJECT_TYPE_PLACEABLE,"zep_restded_resp",GetLocation(OBJECT_SELF)); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_restded_resp.ncs b/cep_blueprints/_hak/prc_add_sb/zep_restded_resp.ncs new file mode 100644 index 0000000..b9d9873 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_restded_resp.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_restded_resp.nss b/cep_blueprints/_hak/prc_add_sb/zep_restded_resp.nss new file mode 100644 index 0000000..fcfd66d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_restded_resp.nss @@ -0,0 +1,32 @@ +//Function: zep_restded_resp +//Usage: OnHeartbeat of the Restless Dead invisible respawn +// placable. Checks the time since the placable +// was created by am expiring restless dead, and +// if past the respawn time constsnt's value, +// creates a new creature at that point and destroys +// itself. +//Author: Loki Hakanin + +#include "zep_inc_monster" + +void main() +{ +//First we'll get our respawn timer and update it. Then we +//check to see if we're pver to,e yet. +float fTime=GetLocalFloat(OBJECT_SELF,"RespawnDelayCount"); +fTime+=6.0; + + +//If we're over the timer, we'll play some quick VFX, spawn a new +//skeleton, then destroy this placable. +if (fTime >= ZEP_RESTLESS_DEAD_RESPAWN_TIME) + { + ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY),GetLocation(OBJECT_SELF)); + CreateObject(OBJECT_TYPE_CREATURE,"zep_skelyellow",GetLocation(OBJECT_SELF)); + DestroyObject(OBJECT_SELF); + } +else + { + SetLocalFloat(OBJECT_SELF,"RespawnDelayCount",fTime); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_restded_resp.utp b/cep_blueprints/_hak/prc_add_sb/zep_restded_resp.utp new file mode 100644 index 0000000..233359f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_restded_resp.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rhino.utc b/cep_blueprints/_hak/prc_add_sb/zep_rhino.utc new file mode 100644 index 0000000..6355b74 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rhino.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rickshaw001.utp b/cep_blueprints/_hak/prc_add_sb/zep_rickshaw001.utp new file mode 100644 index 0000000..8fe7b3d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rickshaw001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_riderarrw.uti b/cep_blueprints/_hak/prc_add_sb/zep_riderarrw.uti new file mode 100644 index 0000000..43b1ab8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_riderarrw.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ringtail.utc b/cep_blueprints/_hak/prc_add_sb/zep_ringtail.utc new file mode 100644 index 0000000..0bf06cf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ringtail.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_road001.utp b/cep_blueprints/_hak/prc_add_sb/zep_road001.utp new file mode 100644 index 0000000..ea8ab13 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_road001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_road002.utp b/cep_blueprints/_hak/prc_add_sb/zep_road002.utp new file mode 100644 index 0000000..119527a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_road002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_road003.utp b/cep_blueprints/_hak/prc_add_sb/zep_road003.utp new file mode 100644 index 0000000..0b3858f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_road003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_road004.utp b/cep_blueprints/_hak/prc_add_sb/zep_road004.utp new file mode 100644 index 0000000..8bcd115 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_road004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_road005.utp b/cep_blueprints/_hak/prc_add_sb/zep_road005.utp new file mode 100644 index 0000000..b7ea84c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_road005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_road006.utp b/cep_blueprints/_hak/prc_add_sb/zep_road006.utp new file mode 100644 index 0000000..5bdf617 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_road006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_road007.utp b/cep_blueprints/_hak/prc_add_sb/zep_road007.utp new file mode 100644 index 0000000..569ceeb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_road007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_road008.utp b/cep_blueprints/_hak/prc_add_sb/zep_road008.utp new file mode 100644 index 0000000..459b96a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_road008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rock001.utp b/cep_blueprints/_hak/prc_add_sb/zep_rock001.utp new file mode 100644 index 0000000..a0c9414 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rock001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rope.utp b/cep_blueprints/_hak/prc_add_sb/zep_rope.utp new file mode 100644 index 0000000..dcf96b6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rope.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ropebndle001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ropebndle001.utp new file mode 100644 index 0000000..fdc54ac Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ropebndle001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rose_blue.uti b/cep_blueprints/_hak/prc_add_sb/zep_rose_blue.uti new file mode 100644 index 0000000..30c6f72 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rose_blue.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rose_blue2.uti b/cep_blueprints/_hak/prc_add_sb/zep_rose_blue2.uti new file mode 100644 index 0000000..b27925a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rose_blue2.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rose_pur.uti b/cep_blueprints/_hak/prc_add_sb/zep_rose_pur.uti new file mode 100644 index 0000000..b49252a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rose_pur.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rose_pur2.uti b/cep_blueprints/_hak/prc_add_sb/zep_rose_pur2.uti new file mode 100644 index 0000000..39736c3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rose_pur2.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rose_red.uti b/cep_blueprints/_hak/prc_add_sb/zep_rose_red.uti new file mode 100644 index 0000000..5dcb4e9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rose_red.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rose_red2.uti b/cep_blueprints/_hak/prc_add_sb/zep_rose_red2.uti new file mode 100644 index 0000000..d827c6c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rose_red2.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ruine_bild.utp b/cep_blueprints/_hak/prc_add_sb/zep_ruine_bild.utp new file mode 100644 index 0000000..9729098 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ruine_bild.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rushpilow001.utp b/cep_blueprints/_hak/prc_add_sb/zep_rushpilow001.utp new file mode 100644 index 0000000..0120ef9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rushpilow001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rushpilow002.utp b/cep_blueprints/_hak/prc_add_sb/zep_rushpilow002.utp new file mode 100644 index 0000000..7cee908 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rushpilow002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rust_cmb_end.ncs b/cep_blueprints/_hak/prc_add_sb/zep_rust_cmb_end.ncs new file mode 100644 index 0000000..5eb93dd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rust_cmb_end.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rust_cmb_end.nss b/cep_blueprints/_hak/prc_add_sb/zep_rust_cmb_end.nss new file mode 100644 index 0000000..bc5a6ea --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_rust_cmb_end.nss @@ -0,0 +1,115 @@ +//:://///////////////////////////////////////////// +//:: Rust Monster Antennae Attack +//::////////////////////////////////////////////// +/* + Handles antennae attack and rusting functions + if attack hits. Also calls the end of combat + script every round. +*/ +//::////////////////////////////////////////////// +//:: Based on End of Round Combat Script by Preston Watamaniuk +//:: Modified by LordEmil (July-30-2002) to include rust monster abilities +//:: Modified by El Magnifico Uno (Sept-11-2002) to enhance an already great script +//::////////////////////////////////////////////// + +#include "NW_I0_GENERIC" +#include "zep_inc_scrptdlg" + +// this will check to see if the object is metal +// or is partly metal - Returns 0 if no metal, +// 1 if part metal, 2 if mostly metal +// type 16 is armor and needs an extra check +int IsItemMetal(object oItem) +{ + int nReturnVal=0; + int type=GetBaseItemType(oItem); + if((type<6)||type==9||type==10||type==12||type==13||type==17||type==18 + ||type==22||type==27||type==32||type==33||type==35||type==37||type==28 + ||type==40||type==41||type==42||type==47||type==51||type==52||type==53 + ||type==57||type==59||type==60||type==63||type==65||type==76) + { + nReturnVal=2;// Mostly metal + } + if(type==7||type==7||type==19||type==20||type==21||type==28||type==31 + ||type==44||type==45||type==46||type==56||type==62||type==78 + ||type==25||type==55||type==58) + { + nReturnVal=1;// Part metal + } + if(type==BASE_ITEM_ARMOR)// see what kind of armor + { + int ac=GetItemACValue (oItem); + int limit=3; + if(GetItemHasItemProperty(oItem,ITEM_PROPERTY_AC_BONUS))limit=5; + if(ac>limit) + { + nReturnVal=2;// mostly metal + } + } + return nReturnVal; +} + +void main() +{ + if(GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL)) + { + DetermineSpecialBehavior(); + } + else if(!GetSpawnInCondition(NW_FLAG_SET_WARNINGS)) + { + DetermineCombatRound(); + } + // do rust attack against attakee + if(GetIsInCombat()) + { + string sItem; + object oItem; + int nItemSlot; + int isMetal; + object oPC=GetAttackTarget(); + if(oPC==OBJECT_INVALID)oPC=GetAttemptedAttackTarget(); + + if (GetDistanceToObject(oPC) < 2.5) + { + for(nItemSlot=0;nItemSlot<13;nItemSlot++) + { + oItem=GetItemInSlot(nItemSlot,oPC); + isMetal=IsItemMetal(oItem); + if(isMetal!=0)break;// found a target + } + // El Magnifico Uno - Added TouchAttack + if(nItemSlot<13 && (TouchAttackMelee(oPC)>0))// we got one + { + sItem=GetName(oItem); + string sMessageToPC = GetStringByStrRef(nZEPRustMonBrush ,GENDER_MALE); + string sMessagePart2; + SendMessageToPC(oPC,sMessageToPC+sItem ); + // El Magnifico Uno - Changed save mechanism + // to a straight Reflex Save per 3e rules. + // Normally only get a save for magical items. + // But was lazy and didn't want to list 60+ + // instances of GetItemHasProperty. + if(ReflexSave(oPC,20))// saved + { + sMessageToPC=GetStringByStrRef(nZEPRustButResist1,GENDER_MALE); + sMessagePart2 = GetStringByStrRef(nZEPRustButResist2,GENDER_MALE); + SendMessageToPC(oPC,sMessageToPC+sItem+sMessagePart2); + }else //didn't save + { + sMessageToPC = GetStringByStrRef(nZEPRustAndDest,GENDER_MALE); + SendMessageToPC(oPC,sMessageToPC+sItem+"!"); + DestroyObject(oItem); + //El Magnifico Uno - Changed Effect + // ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_ACID_L),oPC); + ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_ACID),GetLocation(oPC)); + } + } + } + } + if(GetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT)) + { + SignalEvent(OBJECT_SELF, EventUserDefined(1003)); + } +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rust_dmg.ncs b/cep_blueprints/_hak/prc_add_sb/zep_rust_dmg.ncs new file mode 100644 index 0000000..d44bc79 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rust_dmg.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rust_dmg.nss b/cep_blueprints/_hak/prc_add_sb/zep_rust_dmg.nss new file mode 100644 index 0000000..c6f3179 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_rust_dmg.nss @@ -0,0 +1,146 @@ +//:://///////////////////////////////////////////// +//:: Default On Damaged +//:: NW_C2_DEFAULT6 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + If already fighting then ignore, else determine + combat round +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 16, 2001 +//::////////////////////////////////////////////// + +#include "NW_I0_GENERIC" +#include "zep_inc_scrptdlg" + +int IsItemMetal(object oItem) +{ + int nReturnVal=0; + int type=GetBaseItemType(oItem); + if((type<6)||type==9||type==10||type==12||type==13||type==17||type==18 + ||type==22||type==27||type==32||type==33||type==35||type==37||type==28 + ||type==40||type==41||type==42||type==47||type==51||type==52||type==53 + ||type==57||type==59||type==60||type==63||type==65||type==76||type==7 + ||type==19||type==20||type==21||type==28||type==31||type==44||type==45 + ||type==46||type==56||type==62||type==78||type==25||type==55||type==58) + { + nReturnVal=2;// Mostly metal + } + return nReturnVal; +} + +void main() +{ + string sMessageToPC; + string sMessagePart2; + if(!GetFleeToExit()) + { + if(!GetSpawnInCondition(NW_FLAG_SET_WARNINGS)) + { + if (GetDistanceToObject(GetLastDamager()) < 4.0) + { + object oPC = GetLastDamager(); + if (GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC) != OBJECT_INVALID) + { + object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC); + if (!GetWeaponRanged(oWeapon) && (IsItemMetal(oWeapon)>0)) + { + string sWeapon = GetName(oWeapon); + if(ReflexSave(oPC,20))// saved + { + if (GetIsPC(oPC)) + { + sMessageToPC=GetStringByStrRef(nZEPRustYourTXT,GENDER_MALE); + sMessagePart2=GetStringByStrRef(nZEPRustWeapRes,GENDER_MALE); + SendMessageToPC(oPC,sMessageToPC+sWeapon+sMessagePart2); + } + } + else //didn't save + { + if (GetIsPC(oPC)) + { + sMessageToPC=GetStringByStrRef(nZEPRustYourTXT,GENDER_MALE); + sMessagePart2=GetStringByStrRef(nZEPRustWeapDest,GENDER_MALE); + SendMessageToPC(oPC,sMessageToPC+sWeapon+sMessagePart2); + } + DestroyObject(oWeapon); + ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_ACID_L),oPC); + } + } + } + else + { + if (GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC) != OBJECT_INVALID) + { + object oWeapon = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC); + if (IsItemMetal(oWeapon)>0) + { + string sWeapon = GetName(oWeapon); + if(ReflexSave(oPC,20))// saved + { + if (GetIsPC(oPC)) + { + sMessageToPC=GetStringByStrRef(nZEPRustYourTXT,GENDER_MALE); + sMessagePart2=GetStringByStrRef(nZEPRustWeapRes,GENDER_MALE); + SendMessageToPC(oPC,sMessageToPC+sWeapon+sMessagePart2); + } + } + else //didn't save + { + if (GetIsPC(oPC)) + { + sMessageToPC=GetStringByStrRef(nZEPRustYourTXT,GENDER_MALE); + sMessagePart2=GetStringByStrRef(nZEPRustWeapDest,GENDER_MALE); + SendMessageToPC(oPC,sMessageToPC+sWeapon+sMessagePart2); + } + DestroyObject(oWeapon); + ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_ACID_L),oPC); + } + } + } + } + if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget())) + { + if(GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL)) + { + DetermineSpecialBehavior(GetLastDamager()); + } + else if(GetIsObjectValid(GetLastDamager())) + { + DetermineCombatRound(); + if(!GetIsFighting(OBJECT_SELF)) + { + object oTarget = GetLastDamager(); + if(!GetObjectSeen(oTarget) && GetArea(OBJECT_SELF) == GetArea(oTarget)) + { + ActionMoveToLocation(GetLocation(oTarget), TRUE); + ActionDoCommand(DetermineCombatRound()); + } + } + } + } + else if (!GetIsObjectValid(GetAttemptedSpellTarget())) + { + object oTarget = GetAttackTarget(); + if(!GetIsObjectValid(oTarget)) + { + oTarget = GetAttemptedAttackTarget(); + } + object oAttacker = GetLastHostileActor(); + if (GetIsObjectValid(oAttacker) && oTarget != oAttacker && GetIsEnemy(oAttacker) && + (GetTotalDamageDealt() > (GetMaxHitPoints(OBJECT_SELF) / 4) || + (GetHitDice(oAttacker) - 2) > GetHitDice(oTarget) ) ) + { + DetermineCombatRound(oAttacker); + } + } + } + } + } + if(GetSpawnInCondition(NW_FLAG_DAMAGED_EVENT)) + { + SignalEvent(OBJECT_SELF, EventUserDefined(1006)); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rust_spawn.ncs b/cep_blueprints/_hak/prc_add_sb/zep_rust_spawn.ncs new file mode 100644 index 0000000..ab9b464 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rust_spawn.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rust_spawn.nss b/cep_blueprints/_hak/prc_add_sb/zep_rust_spawn.nss new file mode 100644 index 0000000..3a0148e --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_rust_spawn.nss @@ -0,0 +1,72 @@ +//:://///////////////////////////////////////////// +//:: Generic On Spawn Script +//::////////////////////////////////////////////// +/* + Activates the UserDefined Heartbeat Event +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 25, 2001 +//::////////////////////////////////////////////// +#include "NW_O2_CONINCLUDE" +#include "NW_I0_GENERIC" + +void main() +{ +// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING); + //SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION); + //SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS); + //SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + +// CUSTOM USER DEFINED EVENTS +/* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 +*/ + SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + +// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) ***************************************************************************************** + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + GenerateNPCTreasure(); //* Use this to create a small amount of treasure on the creature +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rust_user.ncs b/cep_blueprints/_hak/prc_add_sb/zep_rust_user.ncs new file mode 100644 index 0000000..22a9c8e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rust_user.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rust_user.nss b/cep_blueprints/_hak/prc_add_sb/zep_rust_user.nss new file mode 100644 index 0000000..3265d81 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_rust_user.nss @@ -0,0 +1,156 @@ +//:://///////////////////////////////////////////// +//:: Rust Monster Search & Eat script +//:: (OnUserDefined) +//::////////////////////////////////////////////// +/* + Rust Monster will wander around and eat dropped + metal objects. +*/ +//::////////////////////////////////////////////// +//:: Created By: El Magnifico Uno +//:: Created On: September 11, 2002 +//::////////////////////////////////////////////// + +int HasMetalItem(object oItem) +{ + switch (GetBaseItemType(oItem)) + { + case BASE_ITEM_ARMOR: return TRUE; break; + case BASE_ITEM_HELMET: return TRUE; break; + case BASE_ITEM_LARGESHIELD: return TRUE; break; + case BASE_ITEM_SMALLSHIELD: return TRUE; break; + case BASE_ITEM_TOWERSHIELD: return TRUE; break; + + case BASE_ITEM_BASTARDSWORD: return TRUE; break; + case BASE_ITEM_BATTLEAXE: return TRUE; break; + case BASE_ITEM_DIREMACE: return TRUE; break; + case BASE_ITEM_DOUBLEAXE: return TRUE; break; + case BASE_ITEM_GREATAXE: return TRUE; break; + case BASE_ITEM_GREATSWORD: return TRUE; break; + case BASE_ITEM_HALBERD: return TRUE; break; + case BASE_ITEM_HEAVYCROSSBOW: return TRUE; break; + case BASE_ITEM_HEAVYFLAIL: return TRUE; break; + case BASE_ITEM_KAMA: return TRUE; break; + case BASE_ITEM_KATANA: return TRUE; break; + case BASE_ITEM_KUKRI: return TRUE; break; + case BASE_ITEM_LIGHTFLAIL: return TRUE; break; + case BASE_ITEM_LIGHTHAMMER: return TRUE; break; + case BASE_ITEM_LIGHTMACE: return TRUE; break; + case BASE_ITEM_LONGSWORD: return TRUE; break; + case BASE_ITEM_MORNINGSTAR: return TRUE; break; + case BASE_ITEM_RAPIER: return TRUE; break; + case BASE_ITEM_SCIMITAR: return TRUE; break; + case BASE_ITEM_SCYTHE: return TRUE; break; + case BASE_ITEM_SHORTSWORD: return TRUE; break; + case BASE_ITEM_SHURIKEN: return TRUE; break; + case BASE_ITEM_SICKLE: return TRUE; break; + case BASE_ITEM_TWOBLADEDSWORD: return TRUE; break; + case BASE_ITEM_WARHAMMER: return TRUE; break; + } + return FALSE; +} + + +//::///////////////////////////////////////////////// + +int CarriesMetal(object oTarget) +{ + object oItem = GetFirstItemInInventory(oTarget); + while (oItem != OBJECT_INVALID) + { + if (HasMetalItem(oItem)) + { + return TRUE; + break; + } + oItem = GetNextItemInInventory(oTarget); + } + return FALSE; +} + +//:://////////////////////////////////////////////// + +int EquipMetal(object oTarget) +{ + int nSlot = 0; + object oItem = GetItemInSlot(nSlot); + while (nSlot <= 5) + { + if (HasMetalItem(oItem)) + { + return TRUE; + break; + } + nSlot++; + oItem = GetItemInSlot(nSlot); + } + return FALSE; +} + +//::////////////////////////////////////////////// + +void AttackTarget(object oTarget) +{ + ClearAllActions(); + SetIsTemporaryEnemy(oTarget, OBJECT_SELF, TRUE, 60.0); + ActionDoCommand(ActionAttack(oTarget)); +} + +//::///////////////////////////////////////////// + +object NextTarget(int nNth) +{ + return GetNearestCreature(CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN, OBJECT_SELF, nNth); +} + +//::///////////////////////////////////////////// + +void main() +{ + + ActionRandomWalk(); // Default is wander around a bit + + float fDetectRange = 25.0; + object oItem = GetNearestObject(OBJECT_TYPE_ITEM); + if (GetIsObjectValid(oItem)) + { + float fDist = GetDistanceToObject(oItem); + if (fDist < fDetectRange) // Can we detect garbage? + { + ClearAllActions(); + ActionMoveToObject(oItem,FALSE,1.0); // Move to item. + if (HasMetalItem(oItem) && (GetDistanceToObject(oItem) < 1.5)) + { + ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_ACID),GetLocation(oItem)); + DestroyObject(oItem); + } + } + } + + object oTarget = GetNearestCreature(CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN, OBJECT_SELF, 1); + if (oTarget != OBJECT_INVALID && !GetIsObjectValid(oItem)) // Search for walking food if there's nothing lying around + { if (EquipMetal(oTarget) || CarriesMetal(oTarget)) {AttackTarget(oTarget);} + + else if (NextTarget(2) != OBJECT_INVALID) + { oTarget = NextTarget(2); + if (EquipMetal(oTarget) || CarriesMetal(oTarget)) {AttackTarget(oTarget);} + + else if (NextTarget(3) != OBJECT_INVALID) + { oTarget = NextTarget(3); + if (EquipMetal(oTarget) || CarriesMetal(oTarget)) {AttackTarget(oTarget);} + + else if (NextTarget(4) != OBJECT_INVALID) + { oTarget = NextTarget(4); + if (EquipMetal(oTarget) || CarriesMetal(oTarget)) {AttackTarget(oTarget);} + + else if (NextTarget(5) != OBJECT_INVALID) + { oTarget = NextTarget(5); + if (EquipMetal(oTarget) || CarriesMetal(oTarget)) {AttackTarget(oTarget);} + } + } + } + } + } +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_rustmonster.utc b/cep_blueprints/_hak/prc_add_sb/zep_rustmonster.utc new file mode 100644 index 0000000..7588a05 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_rustmonster.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sabertooth.utc b/cep_blueprints/_hak/prc_add_sb/zep_sabertooth.utc new file mode 100644 index 0000000..24c0956 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sabertooth.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sabishb_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_sabishb_001.uti new file mode 100644 index 0000000..8af9cc0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sabishb_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sabishb_002.uti b/cep_blueprints/_hak/prc_add_sb/zep_sabishb_002.uti new file mode 100644 index 0000000..a48d35b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sabishb_002.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sabishg_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_sabishg_001.uti new file mode 100644 index 0000000..198df4b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sabishg_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sabishr_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_sabishr_001.uti new file mode 100644 index 0000000..4ea69dd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sabishr_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sabishw_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_sabishw_001.uti new file mode 100644 index 0000000..10ae579 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sabishw_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_safe001.utp b/cep_blueprints/_hak/prc_add_sb/zep_safe001.utp new file mode 100644 index 0000000..9451ab9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_safe001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sai.uti b/cep_blueprints/_hak/prc_add_sb/zep_sai.uti new file mode 100644 index 0000000..133e9fd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sai.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sakeset001.utp b/cep_blueprints/_hak/prc_add_sb/zep_sakeset001.utp new file mode 100644 index 0000000..2530e18 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sakeset001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sala.utc b/cep_blueprints/_hak/prc_add_sb/zep_sala.utc new file mode 100644 index 0000000..e4807d4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sala.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_salaflamebro.utc b/cep_blueprints/_hak/prc_add_sb/zep_salaflamebro.utc new file mode 100644 index 0000000..4d0a55e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_salaflamebro.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_salanob.utc b/cep_blueprints/_hak/prc_add_sb/zep_salanob.utc new file mode 100644 index 0000000..8646f6f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_salanob.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sampletint.utc b/cep_blueprints/_hak/prc_add_sb/zep_sampletint.utc new file mode 100644 index 0000000..7659e6f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sampletint.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sap.uti b/cep_blueprints/_hak/prc_add_sb/zep_sap.uti new file mode 100644 index 0000000..9d97ae5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sap.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sarco.utp b/cep_blueprints/_hak/prc_add_sb/zep_sarco.utp new file mode 100644 index 0000000..a237a5f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sarco.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sarco2.utp b/cep_blueprints/_hak/prc_add_sb/zep_sarco2.utp new file mode 100644 index 0000000..b1092c9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sarco2.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sarcof1use.ncs b/cep_blueprints/_hak/prc_add_sb/zep_sarcof1use.ncs new file mode 100644 index 0000000..3f64d91 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sarcof1use.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sarcof1use.nss b/cep_blueprints/_hak/prc_add_sb/zep_sarcof1use.nss new file mode 100644 index 0000000..0145c65 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_sarcof1use.nss @@ -0,0 +1,118 @@ +//::////////////////////////////////////////////// +//:: Created By: Robert Babiak +//:: Created On: June 25, 2002 +//::////////////////////////////////////////////// +//:: Modified By: Andrew Nobbs +//:: Modified On: September 23, 2002 +//:: Modification: Removed unnecessary spaces. +//::////////////////////////////////////////////// +//:: +//:: Modified By: John Hawkins +//:: Modified On: January, 2004 +//:: Modification: Changed code +//:: +//::////////////////////////////////////////////// +/* + now the destination will be a waypoint with + the tag of "WP_"+the tag of the object of + origin.(the secret door) see the placeable's + comments for further directions. + ***** + ***you never have to change this script!*** + ***** +*/ +//::////////////////////////////////////////////// +//Yet further modified by: Loki Hakanin +//Summary of Alterations: +//----------------------- +//Created a function "SendAllAssociatesOfType" to encapsulate +//functionality in main function, and also to allow for potential +//of multople summons or henchmen or whatever. Originaly script would +//only send first associate of a given type, this begavior +//now fixed. +//::////////////////////////////////////////////// + +#include "zep_inc_scrptdlg" + +//Sends oCreature to oDest instantly +void SendCreature(object oCreature, object oDest); + +//Sends all creatures of nAssociateType associated with oUser to oDest. +void SendAllAssociatesOfType(int nAssociateType,object oUser, object oDest); + +void main() +{ + object oidUser = GetLastUsedBy(); + string sDest = "WP_"+GetTag(OBJECT_SELF); + object oidDest = GetObjectByTag(sDest); + if (GetIsTrapped(OBJECT_SELF)) + { + return; + } + if (GetLocked(OBJECT_SELF)) + { + // See if we have the key and unlock if so + string sKey = GetTrapKeyTag(OBJECT_SELF); + object oKey = GetItemPossessedBy(oidUser, sKey); + if (sKey != "" && GetIsObjectValid(oKey)) + { + SendMessageToPC(oidUser, GetStringByStrRef(7945)); + SetLocked(OBJECT_SELF, FALSE); + } + else + { + // Print '*locked*' message and play sound + DelayCommand(0.1, PlaySound("as_dr_locked2")); + FloatingTextStringOnCreature("*" + + GetStringByStrRef(8307) + + "*", + oidUser); + SendMessageToPC(oidUser, GetStringByStrRef(8296)); + return; + } + } + if(GetIsOpen(OBJECT_SELF)) + { + AssignCommand(oidUser,ActionJumpToObject(oidDest,FALSE)); + //Send All Animal Companions + SendAllAssociatesOfType(ASSOCIATE_TYPE_ANIMALCOMPANION,oidUser,oidDest); + //Send all Dominated Creatures + SendAllAssociatesOfType(ASSOCIATE_TYPE_DOMINATED,oidUser,oidDest); + //Send all Familiars + SendAllAssociatesOfType(ASSOCIATE_TYPE_FAMILIAR,oidUser,oidDest); + //Send all henchmen + SendAllAssociatesOfType(ASSOCIATE_TYPE_HENCHMAN,oidUser,oidDest); + //Send all summons + SendAllAssociatesOfType(ASSOCIATE_TYPE_SUMMONED,oidUser,oidDest); + } + else + { + DelayCommand(1.0,FloatingTextStringOnCreature(GetStringByStrRef(nZEPFoundSecret,GENDER_MALE),oidUser)); + { + DelayCommand(0.1,AssignCommand(OBJECT_SELF,PlaySound("as_dr_stonmedop1"))); + DelayCommand(0.3,AssignCommand(OBJECT_SELF,PlayAnimation(ANIMATION_PLACEABLE_OPEN))); + } + } +} + +void SendCreature(object oCreature, object oDest) +{ + if(oCreature != OBJECT_INVALID) + { + AssignCommand(oCreature, ClearAllActions()); + AssignCommand(oCreature, ActionJumpToObject(oDest,FALSE)); + } +} + +void SendAllAssociatesOfType(int nAssociateType, object oUser, object oDest) +{ +int nCounter=1; +object oCreatureToSend = GetAssociate(nAssociateType, oUser, nCounter); +while (GetIsObjectValid(oCreatureToSend)) + { + SendCreature(oCreatureToSend, oDest); + nCounter++; + oCreatureToSend = GetAssociate(nAssociateType, oUser,nCounter); + } +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_satyr.utc b/cep_blueprints/_hak/prc_add_sb/zep_satyr.utc new file mode 100644 index 0000000..8cc3aca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_satyr.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_satyrs.utc b/cep_blueprints/_hak/prc_add_sb/zep_satyrs.utc new file mode 100644 index 0000000..57222e9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_satyrs.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_savgesign001.utp b/cep_blueprints/_hak/prc_add_sb/zep_savgesign001.utp new file mode 100644 index 0000000..adb1065 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_savgesign001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scaffold.utp b/cep_blueprints/_hak/prc_add_sb/zep_scaffold.utp new file mode 100644 index 0000000..8035900 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scaffold.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scale001.utp b/cep_blueprints/_hak/prc_add_sb/zep_scale001.utp new file mode 100644 index 0000000..b047234 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scale001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scarab.utc b/cep_blueprints/_hak/prc_add_sb/zep_scarab.utc new file mode 100644 index 0000000..54a86ec Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scarab.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scare_on_sp.ncs b/cep_blueprints/_hak/prc_add_sb/zep_scare_on_sp.ncs new file mode 100644 index 0000000..88960cf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scare_on_sp.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scare_on_sp.nss b/cep_blueprints/_hak/prc_add_sb/zep_scare_on_sp.nss new file mode 100644 index 0000000..fbe886e --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_scare_on_sp.nss @@ -0,0 +1,75 @@ +//:://///////////////////////////////////////////// +//:: Default: On Spawn In +//:: NW_C2_DEFAULT9 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 25, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_GENERIC" + +void main() +{ +// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING); + //SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION); + //SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS); + //SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + +// CUSTOM USER DEFINED EVENTS +/* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 +*/ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + +// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) ***************************************************************************************** + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + //GenerateNPCTreasure(); //* Use this to create a small amount of treasure on the creature + +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scare_user.ncs b/cep_blueprints/_hak/prc_add_sb/zep_scare_user.ncs new file mode 100644 index 0000000..4f394e2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scare_user.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scare_user.nss b/cep_blueprints/_hak/prc_add_sb/zep_scare_user.nss new file mode 100644 index 0000000..bde6242 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_scare_user.nss @@ -0,0 +1,36 @@ +//:://///////////////////////////////////////////// +//:: Default: On User Defined +//:: NW_C2_DEFAULTD +//:: Copyright (c) 2002 Bioware Corp. +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + on a user defined event. +*/ +//::////////////////////////////////////////////// +//:: Created By: Don Moar +//:: Created On: April 28, 2002 +//::////////////////////////////////////////////// +#include "nw_i0_spells" + +void main() +{ + int nUser = GetUserDefinedEventNumber(); + effect eGaze = EffectDazed(); + object oVictim; + int nDC= 14; + int nSave; + effect eViz = EffectVisualEffect(VFX_IMP_DAZED_S); + + if(nUser == 1003) //On Combat Round End + { + oVictim = GetLastHostileActor(); + nSave = MySavingThrow(SAVING_THROW_WILL,oVictim,nDC,SAVING_THROW_TYPE_MIND_SPELLS); + //WillSave(oVictim, 19, SAVING_THROW_TYPE_SPELL, OBJECT_SELF); + if(nSave == 0) + { + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eGaze, oVictim,6.0); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eViz, oVictim,6.0); + } + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scarecr.utc b/cep_blueprints/_hak/prc_add_sb/zep_scarecr.utc new file mode 100644 index 0000000..e6bd0b7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scarecr.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scarecrow001.utp b/cep_blueprints/_hak/prc_add_sb/zep_scarecrow001.utp new file mode 100644 index 0000000..629600f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scarecrow001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sconce002.utp b/cep_blueprints/_hak/prc_add_sb/zep_sconce002.utp new file mode 100644 index 0000000..239cc1c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sconce002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scorp.utc b/cep_blueprints/_hak/prc_add_sb/zep_scorp.utc new file mode 100644 index 0000000..059194d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scorp.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scorp001.utc b/cep_blueprints/_hak/prc_add_sb/zep_scorp001.utc new file mode 100644 index 0000000..d274304 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scorp001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scorp002.utc b/cep_blueprints/_hak/prc_add_sb/zep_scorp002.utc new file mode 100644 index 0000000..30f4c7e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scorp002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scorp003.utc b/cep_blueprints/_hak/prc_add_sb/zep_scorp003.utc new file mode 100644 index 0000000..8d52560 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scorp003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scorp_onuser.ncs b/cep_blueprints/_hak/prc_add_sb/zep_scorp_onuser.ncs new file mode 100644 index 0000000..824fecd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scorp_onuser.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scorp_onuser.nss b/cep_blueprints/_hak/prc_add_sb/zep_scorp_onuser.nss new file mode 100644 index 0000000..019c9cc --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_scorp_onuser.nss @@ -0,0 +1,47 @@ +//:://///////////////////////////////////////////// +//:: NW_C2_DIMDOOR.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Creature randomly hops around + to enemies during combat. +*/ +//::////////////////////////////////////////////// +//:: Created By: Brent +//:: Created On: January 2002 +//::////////////////////////////////////////////// +//:: Renamed Scorp_onuserdef 05/24/03 for Scorpions Demo v1.0 +//:: Modified By Luna_C with invaluable help from Tallihnn and Allan Keliel. +//:: Be sure to use this with the scorp_spawn script in the onspawn script slot! +//::////////////////////////////////////////////// +void JumpToWeakestEnemy(object oTargetVictim) +{ + object oTargetVictim = GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY); + location lTargetVictim = GetLocation((oTargetVictim)); + // * won't jump if closer than 4 meters to victim + if ((GetDistanceToObject(oTargetVictim) > 4.0) && (GetObjectSeen(oTargetVictim) == TRUE)) + { + ClearAllActions(); + effect eVis = EffectDisappearAppear (lTargetVictim); + effect eGate = EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_NATURE); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eGate, OBJECT_SELF, 2.0); + DelayCommand(0.3,ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVis, OBJECT_SELF, 2.0)); + DelayCommand(2.3,ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eGate, lTargetVictim, 2.0)); + DelayCommand(6.0,ActionAttack(oTargetVictim)); + } +} +void main() +{ + // * During Combat try teleporting around + if (GetUserDefinedEventNumber() == 1003) + { + // * if random OR heavily wounded then teleport to next enemy + if ((Random(100) < 50) || ( (GetCurrentHitPoints() / GetMaxHitPoints()) * 100 < 50) ) + { + JumpToWeakestEnemy(GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY)); + } + } +} + + + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scorp_spawn.ncs b/cep_blueprints/_hak/prc_add_sb/zep_scorp_spawn.ncs new file mode 100644 index 0000000..4be7c44 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scorp_spawn.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scorp_spawn.nss b/cep_blueprints/_hak/prc_add_sb/zep_scorp_spawn.nss new file mode 100644 index 0000000..488ff2f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_scorp_spawn.nss @@ -0,0 +1,66 @@ +//:://///////////////////////////////////////////// +//:: NW_C2_DIMDOORS.nss +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + OnSpawnIn, sets up scorpions to teleport + during combat (requires scorp_onuserdef in the + user defined event slot for the creature) +*/ +//::////////////////////////////////////////////// +//:: Created By: +//:: Created On: +//:: Modified By: Luna_C on 5/24/2003 for Scorpions Demo v1.0 +//::////////////////////////////////////////////// + +#include "NW_I0_GENERIC" + +void main() +{ +// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION); + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + +// CUSTOM USER DEFINED EVENTS +/* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 +*/ + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + +// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) ***************************************************************************************** + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scorpg.utc b/cep_blueprints/_hak/prc_add_sb/zep_scorpg.utc new file mode 100644 index 0000000..98fefc4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scorpg.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scorpg001.utc b/cep_blueprints/_hak/prc_add_sb/zep_scorpg001.utc new file mode 100644 index 0000000..0d8ea2b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scorpg001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scorpg002.utc b/cep_blueprints/_hak/prc_add_sb/zep_scorpg002.utc new file mode 100644 index 0000000..c612c16 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scorpg002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scorpg003.utc b/cep_blueprints/_hak/prc_add_sb/zep_scorpg003.utc new file mode 100644 index 0000000..4270c4d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scorpg003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scorph.utc b/cep_blueprints/_hak/prc_add_sb/zep_scorph.utc new file mode 100644 index 0000000..678c237 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scorph.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scorph001.utc b/cep_blueprints/_hak/prc_add_sb/zep_scorph001.utc new file mode 100644 index 0000000..ec2d855 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scorph001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scorph002.utc b/cep_blueprints/_hak/prc_add_sb/zep_scorph002.utc new file mode 100644 index 0000000..d995990 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scorph002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scorph003.utc b/cep_blueprints/_hak/prc_add_sb/zep_scorph003.utc new file mode 100644 index 0000000..c78f08d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scorph003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scorpion.utp b/cep_blueprints/_hak/prc_add_sb/zep_scorpion.utp new file mode 100644 index 0000000..9b2d91f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scorpion.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scorpionflag.utp b/cep_blueprints/_hak/prc_add_sb/zep_scorpionflag.utp new file mode 100644 index 0000000..68bb328 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scorpionflag.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrawl001.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrawl001.utp new file mode 100644 index 0000000..e26e2e0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrawl001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrawl002.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrawl002.utp new file mode 100644 index 0000000..0b99169 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrawl002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_screen001.utp b/cep_blueprints/_hak/prc_add_sb/zep_screen001.utp new file mode 100644 index 0000000..2da86f6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_screen001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_screen002.utp b/cep_blueprints/_hak/prc_add_sb/zep_screen002.utp new file mode 100644 index 0000000..8acd793 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_screen002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_screen003.utp b/cep_blueprints/_hak/prc_add_sb/zep_screen003.utp new file mode 100644 index 0000000..ef439b9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_screen003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_screen004.utp b/cep_blueprints/_hak/prc_add_sb/zep_screen004.utp new file mode 100644 index 0000000..5285d82 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_screen004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_screen005.utp b/cep_blueprints/_hak/prc_add_sb/zep_screen005.utp new file mode 100644 index 0000000..b7fdd60 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_screen005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_screen006.utp b/cep_blueprints/_hak/prc_add_sb/zep_screen006.utp new file mode 100644 index 0000000..9b4d58a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_screen006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_screen007.utp b/cep_blueprints/_hak/prc_add_sb/zep_screen007.utp new file mode 100644 index 0000000..f5797f3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_screen007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_screen008.utp b/cep_blueprints/_hak/prc_add_sb/zep_screen008.utp new file mode 100644 index 0000000..4ac8aba Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_screen008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_screen009.utp b/cep_blueprints/_hak/prc_add_sb/zep_screen009.utp new file mode 100644 index 0000000..9cd5b43 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_screen009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_screen01.utp b/cep_blueprints/_hak/prc_add_sb/zep_screen01.utp new file mode 100644 index 0000000..238f961 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_screen01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_screen010.utp b/cep_blueprints/_hak/prc_add_sb/zep_screen010.utp new file mode 100644 index 0000000..1db98aa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_screen010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_screen011.utp b/cep_blueprints/_hak/prc_add_sb/zep_screen011.utp new file mode 100644 index 0000000..5302560 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_screen011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_screen012.utp b/cep_blueprints/_hak/prc_add_sb/zep_screen012.utp new file mode 100644 index 0000000..8272a1a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_screen012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_screen013.utp b/cep_blueprints/_hak/prc_add_sb/zep_screen013.utp new file mode 100644 index 0000000..6c8b1ad Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_screen013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_screen014.utp b/cep_blueprints/_hak/prc_add_sb/zep_screen014.utp new file mode 100644 index 0000000..83f87fe Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_screen014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_screen015.utp b/cep_blueprints/_hak/prc_add_sb/zep_screen015.utp new file mode 100644 index 0000000..917c9e9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_screen015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_screen016.utp b/cep_blueprints/_hak/prc_add_sb/zep_screen016.utp new file mode 100644 index 0000000..7cb45ed Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_screen016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_screen02.utp b/cep_blueprints/_hak/prc_add_sb/zep_screen02.utp new file mode 100644 index 0000000..617fbba Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_screen02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_script001.utp b/cep_blueprints/_hak/prc_add_sb/zep_script001.utp new file mode 100644 index 0000000..8126a1d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_script001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_script002.utp b/cep_blueprints/_hak/prc_add_sb/zep_script002.utp new file mode 100644 index 0000000..a4d1073 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_script002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_script003.utp b/cep_blueprints/_hak/prc_add_sb/zep_script003.utp new file mode 100644 index 0000000..a95ac18 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_script003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal001.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal001.utp new file mode 100644 index 0000000..3945c80 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal002.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal002.utp new file mode 100644 index 0000000..799547c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal003.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal003.utp new file mode 100644 index 0000000..29f6532 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal004.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal004.utp new file mode 100644 index 0000000..4159c08 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal005.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal005.utp new file mode 100644 index 0000000..cbaf494 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal006.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal006.utp new file mode 100644 index 0000000..c1cef1e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal007.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal007.utp new file mode 100644 index 0000000..66f64a4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal008.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal008.utp new file mode 100644 index 0000000..ef84a8d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal009.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal009.utp new file mode 100644 index 0000000..9f6c788 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal010.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal010.utp new file mode 100644 index 0000000..46c48a7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal011.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal011.utp new file mode 100644 index 0000000..27f6c2e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal012.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal012.utp new file mode 100644 index 0000000..e399f2f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal013.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal013.utp new file mode 100644 index 0000000..0944194 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal014.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal014.utp new file mode 100644 index 0000000..f66e7d3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal015.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal015.utp new file mode 100644 index 0000000..3e2b076 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal016.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal016.utp new file mode 100644 index 0000000..5f0d372 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal017.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal017.utp new file mode 100644 index 0000000..2157808 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal018.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal018.utp new file mode 100644 index 0000000..40c3e52 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal018.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal019.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal019.utp new file mode 100644 index 0000000..2070675 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal019.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal020.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal020.utp new file mode 100644 index 0000000..bc97b9e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal020.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal021.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal021.utp new file mode 100644 index 0000000..239016b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal021.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal022.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal022.utp new file mode 100644 index 0000000..9a23088 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal022.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal023.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal023.utp new file mode 100644 index 0000000..733f3c0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal023.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal024.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal024.utp new file mode 100644 index 0000000..716f32a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal024.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal025.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal025.utp new file mode 100644 index 0000000..9ea9698 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal025.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal026.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal026.utp new file mode 100644 index 0000000..d5a085b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal026.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal027.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal027.utp new file mode 100644 index 0000000..d24260f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal027.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal028.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal028.utp new file mode 100644 index 0000000..796aeaa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal028.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal029.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal029.utp new file mode 100644 index 0000000..6dc3187 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal029.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_scrollwal030.utp b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal030.utp new file mode 100644 index 0000000..e9f43a6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_scrollwal030.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sdklrd_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_sdklrd_001.uti new file mode 100644 index 0000000..d9e5c8d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sdklrd_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_secundus.utc b/cep_blueprints/_hak/prc_add_sb/zep_secundus.utc new file mode 100644 index 0000000..b6138c6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_secundus.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sewergrate.utp b/cep_blueprints/_hak/prc_add_sb/zep_sewergrate.utp new file mode 100644 index 0000000..3dd111a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sewergrate.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sewergrte001.utp b/cep_blueprints/_hak/prc_add_sb/zep_sewergrte001.utp new file mode 100644 index 0000000..0cde4be Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sewergrte001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sewerroof.utp b/cep_blueprints/_hak/prc_add_sb/zep_sewerroof.utp new file mode 100644 index 0000000..0186e0a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sewerroof.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sgateblck001.utp b/cep_blueprints/_hak/prc_add_sb/zep_sgateblck001.utp new file mode 100644 index 0000000..419ede3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sgateblck001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sgntclb_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_sgntclb_001.uti new file mode 100644 index 0000000..c4735c3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sgntclb_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sguard_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_sguard_001.utc new file mode 100644 index 0000000..e380483 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sguard_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shack001.utp b/cep_blueprints/_hak/prc_add_sb/zep_shack001.utp new file mode 100644 index 0000000..e7b6576 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shack001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shack002.utp b/cep_blueprints/_hak/prc_add_sb/zep_shack002.utp new file mode 100644 index 0000000..227411b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shack002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shade.utc b/cep_blueprints/_hak/prc_add_sb/zep_shade.utc new file mode 100644 index 0000000..0b2472d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shade.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shade001.utc b/cep_blueprints/_hak/prc_add_sb/zep_shade001.utc new file mode 100644 index 0000000..dbdea99 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shade001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shadowhood.uti b/cep_blueprints/_hak/prc_add_sb/zep_shadowhood.uti new file mode 100644 index 0000000..05d84b4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shadowhood.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shadwlndsflg.utp b/cep_blueprints/_hak/prc_add_sb/zep_shadwlndsflg.utp new file mode 100644 index 0000000..0f878f4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shadwlndsflg.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shark_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_shark_001.utc new file mode 100644 index 0000000..44e571f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shark_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shark_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_shark_002.utc new file mode 100644 index 0000000..3da6c01 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shark_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shark_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_shark_003.utc new file mode 100644 index 0000000..fdfa000 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shark_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shark_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_shark_004.utc new file mode 100644 index 0000000..01f3de1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shark_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shark_005.utc b/cep_blueprints/_hak/prc_add_sb/zep_shark_005.utc new file mode 100644 index 0000000..3c50806 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shark_005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shark_006.utc b/cep_blueprints/_hak/prc_add_sb/zep_shark_006.utc new file mode 100644 index 0000000..397dc0f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shark_006.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shcklstak001.utp b/cep_blueprints/_hak/prc_add_sb/zep_shcklstak001.utp new file mode 100644 index 0000000..386808d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shcklstak001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shed001.utp b/cep_blueprints/_hak/prc_add_sb/zep_shed001.utp new file mode 100644 index 0000000..45cc097 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shed001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sheep_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_sheep_001.utc new file mode 100644 index 0000000..e302dff Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sheep_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sheep_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_sheep_002.utc new file mode 100644 index 0000000..6b57952 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sheep_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sheep_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_sheep_003.utc new file mode 100644 index 0000000..acdb1b0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sheep_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sheep_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_sheep_004.utc new file mode 100644 index 0000000..d5fb7ed Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sheep_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shelf.utp b/cep_blueprints/_hak/prc_add_sb/zep_shelf.utp new file mode 100644 index 0000000..9eb1244 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shelf.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shelter.utp b/cep_blueprints/_hak/prc_add_sb/zep_shelter.utp new file mode 100644 index 0000000..5a76b5e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shelter.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shguard_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_shguard_002.utc new file mode 100644 index 0000000..3c6e32e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shguard_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shguard_003.utc b/cep_blueprints/_hak/prc_add_sb/zep_shguard_003.utc new file mode 100644 index 0000000..1b39cd9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shguard_003.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shguard_004.utc b/cep_blueprints/_hak/prc_add_sb/zep_shguard_004.utc new file mode 100644 index 0000000..7e70f7f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shguard_004.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shguard_005.utc b/cep_blueprints/_hak/prc_add_sb/zep_shguard_005.utc new file mode 100644 index 0000000..3d65f4d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shguard_005.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shguard_006.utc b/cep_blueprints/_hak/prc_add_sb/zep_shguard_006.utc new file mode 100644 index 0000000..044f82c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shguard_006.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shguard_007.utc b/cep_blueprints/_hak/prc_add_sb/zep_shguard_007.utc new file mode 100644 index 0000000..0c791c4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shguard_007.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shguard_008.utc b/cep_blueprints/_hak/prc_add_sb/zep_shguard_008.utc new file mode 100644 index 0000000..21209a7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shguard_008.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shguard_009.utc b/cep_blueprints/_hak/prc_add_sb/zep_shguard_009.utc new file mode 100644 index 0000000..9010ac8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shguard_009.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shguard_010.utc b/cep_blueprints/_hak/prc_add_sb/zep_shguard_010.utc new file mode 100644 index 0000000..c9bf23c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shguard_010.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shguard_011.utc b/cep_blueprints/_hak/prc_add_sb/zep_shguard_011.utc new file mode 100644 index 0000000..c4fac47 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shguard_011.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shguard_012.utc b/cep_blueprints/_hak/prc_add_sb/zep_shguard_012.utc new file mode 100644 index 0000000..e8a6bd0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shguard_012.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ship001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ship001.utp new file mode 100644 index 0000000..2263147 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ship001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ship002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ship002.utp new file mode 100644 index 0000000..c0e1f42 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ship002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ship_1.utp b/cep_blueprints/_hak/prc_add_sb/zep_ship_1.utp new file mode 100644 index 0000000..7ab2afa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ship_1.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ship_tno1.utp b/cep_blueprints/_hak/prc_add_sb/zep_ship_tno1.utp new file mode 100644 index 0000000..b2fa98f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ship_tno1.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipbell001.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipbell001.utp new file mode 100644 index 0000000..fd485bf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipbell001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipflag001.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipflag001.utp new file mode 100644 index 0000000..95f03b8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipflag001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwheel001.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwheel001.utp new file mode 100644 index 0000000..564d9a9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwheel001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck001.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck001.utp new file mode 100644 index 0000000..e911c74 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck002.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck002.utp new file mode 100644 index 0000000..2bebcd4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck003.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck003.utp new file mode 100644 index 0000000..690d9d5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck004.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck004.utp new file mode 100644 index 0000000..623da01 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck005.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck005.utp new file mode 100644 index 0000000..3ccec29 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck006.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck006.utp new file mode 100644 index 0000000..1066efb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck007.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck007.utp new file mode 100644 index 0000000..8cd61d6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck008.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck008.utp new file mode 100644 index 0000000..44ecf31 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck009.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck009.utp new file mode 100644 index 0000000..b986723 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck010.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck010.utp new file mode 100644 index 0000000..27e2195 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck011.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck011.utp new file mode 100644 index 0000000..c36dfc0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck012.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck012.utp new file mode 100644 index 0000000..d7d5e4d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck013.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck013.utp new file mode 100644 index 0000000..51400a0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck014.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck014.utp new file mode 100644 index 0000000..2c53809 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck015.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck015.utp new file mode 100644 index 0000000..f79fcac Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck016.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck016.utp new file mode 100644 index 0000000..c21300a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck017.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck017.utp new file mode 100644 index 0000000..873b99e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck018.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck018.utp new file mode 100644 index 0000000..98f122a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck018.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck019.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck019.utp new file mode 100644 index 0000000..d8dfd54 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck019.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck020.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck020.utp new file mode 100644 index 0000000..e4db3cd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck020.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck021.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck021.utp new file mode 100644 index 0000000..982066d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck021.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck022.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck022.utp new file mode 100644 index 0000000..06aa7cf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck022.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck023.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck023.utp new file mode 100644 index 0000000..fe76749 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck023.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shipwreck024.utp b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck024.utp new file mode 100644 index 0000000..c996351 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shipwreck024.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shlord.utc b/cep_blueprints/_hak/prc_add_sb/zep_shlord.utc new file mode 100644 index 0000000..8400ad0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shlord.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrieker.utc b/cep_blueprints/_hak/prc_add_sb/zep_shrieker.utc new file mode 100644 index 0000000..58f8a2b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrieker.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrieker_dmg.ncs b/cep_blueprints/_hak/prc_add_sb/zep_shrieker_dmg.ncs new file mode 100644 index 0000000..fef08ed Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrieker_dmg.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrieker_dmg.nss b/cep_blueprints/_hak/prc_add_sb/zep_shrieker_dmg.nss new file mode 100644 index 0000000..4072965 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_shrieker_dmg.nss @@ -0,0 +1,10 @@ +void main() +{ + effect eVis3 = EffectVisualEffect(VFX_COM_BLOOD_REG_GREEN); + location lShrieker = GetLocation(OBJECT_SELF); + { + ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis3,lShrieker); + + } + +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrieker_dth.ncs b/cep_blueprints/_hak/prc_add_sb/zep_shrieker_dth.ncs new file mode 100644 index 0000000..e10cbff Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrieker_dth.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrieker_dth.nss b/cep_blueprints/_hak/prc_add_sb/zep_shrieker_dth.nss new file mode 100644 index 0000000..09aba63 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_shrieker_dth.nss @@ -0,0 +1,14 @@ +void main() +{ + effect eVis1 = EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_NATURE); + effect eVis2 = EffectVisualEffect(VFX_COM_CHUNK_GREEN_SMALL); + location lShrieker = GetLocation(OBJECT_SELF); + + { + DestroyObject(OBJECT_SELF,0.0); + ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis1,lShrieker); + ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis2,lShrieker); + + } + +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrieker_spw.ncs b/cep_blueprints/_hak/prc_add_sb/zep_shrieker_spw.ncs new file mode 100644 index 0000000..f5ff649 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrieker_spw.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrieker_spw.nss b/cep_blueprints/_hak/prc_add_sb/zep_shrieker_spw.nss new file mode 100644 index 0000000..3e9857e --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_shrieker_spw.nss @@ -0,0 +1,75 @@ +//:://///////////////////////////////////////////// +//:: Default: On Spawn In +//:: NW_C2_DEFAULT9 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 25, 2001 +//::////////////////////////////////////////////// +#include "NW_O2_CONINCLUDE" +#include "NW_I0_GENERIC" + +void main() +{ +// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + //SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING); + //SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION); + //SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS); + //SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + +// CUSTOM USER DEFINED EVENTS +/* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 +*/ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + +// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) ***************************************************************************************** + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + GenerateNPCTreasure(); //* Use this to create a small amount of treasure on the creature +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrieker_usr.ncs b/cep_blueprints/_hak/prc_add_sb/zep_shrieker_usr.ncs new file mode 100644 index 0000000..325e60b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrieker_usr.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrieker_usr.nss b/cep_blueprints/_hak/prc_add_sb/zep_shrieker_usr.nss new file mode 100644 index 0000000..5bb6dc1 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_shrieker_usr.nss @@ -0,0 +1,39 @@ +//:://///////////////////////////////////////////// +//:: Custom User Defined Event +//:: FileName +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + +*/ +//::////////////////////////////////////////////// +//:: Created By: +//:: Created On: +//::////////////////////////////////////////////// + +void main() +{ + int nUser = GetUserDefinedEventNumber(); + + if(nUser == 1002) // PERCEIVE + { + object oCreature = GetLastPerceived(); + { + + if (GetLastPerceptionSeen() & GetIsPC(oCreature)) + { + ClearAllActions(); + SetLocalObject(OBJECT_SELF,"NW_L_TargetOfAttack",oCreature); + SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_SHOUT); + PlaySound("sdr_mindhit"); + PlaySound("sdr_mindhit"); + + } + else + { + ClearAllActions(); + } + } + } +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrieknoaatt.ncs b/cep_blueprints/_hak/prc_add_sb/zep_shrieknoaatt.ncs new file mode 100644 index 0000000..1cacc08 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrieknoaatt.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrieknoaatt.nss b/cep_blueprints/_hak/prc_add_sb/zep_shrieknoaatt.nss new file mode 100644 index 0000000..8566462 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_shrieknoaatt.nss @@ -0,0 +1,23 @@ +//:://///////////////////////////////////////////// +//:: patchnoattack +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Derrick's script to make combat dummies not attack + you. + +*/ +//::////////////////////////////////////////////// +//:: Created By: +//:: Created On: +//::////////////////////////////////////////////// +void main() +{ + object oPC = GetLastAttacker(); + SetIsTemporaryFriend(oPC,OBJECT_SELF,FALSE,0.001); + DelayCommand(0.001,SetIsTemporaryEnemy(oPC)); + //Shout Attack my target, only works with the On Spawn In setup + SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_SHOUT); + //Shout that I was attacked + SpeakString("NW_I_WAS_ATTACKED", TALKVOLUME_SILENT_SHOUT); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrine.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrine.utp new file mode 100644 index 0000000..678442a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrine.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrine001.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrine001.utp new file mode 100644 index 0000000..dc89df0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrine001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrine01.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrine01.utp new file mode 100644 index 0000000..6cf9b65 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrine01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub001.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub001.utp new file mode 100644 index 0000000..351a2d0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub002.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub002.utp new file mode 100644 index 0000000..b8ea4a5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub003.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub003.utp new file mode 100644 index 0000000..c6a89f4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub004.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub004.utp new file mode 100644 index 0000000..28a37d4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub005.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub005.utp new file mode 100644 index 0000000..c554427 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub006.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub006.utp new file mode 100644 index 0000000..3fee9f0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub007.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub007.utp new file mode 100644 index 0000000..5ebe189 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub008.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub008.utp new file mode 100644 index 0000000..32e4416 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub009.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub009.utp new file mode 100644 index 0000000..0fae877 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub010.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub010.utp new file mode 100644 index 0000000..b5e81d4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub011.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub011.utp new file mode 100644 index 0000000..d00b211 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub012.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub012.utp new file mode 100644 index 0000000..ab95204 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub013.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub013.utp new file mode 100644 index 0000000..4b5322f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub014.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub014.utp new file mode 100644 index 0000000..f505f4a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub015.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub015.utp new file mode 100644 index 0000000..655e0cd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub016.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub016.utp new file mode 100644 index 0000000..7fb5855 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub017.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub017.utp new file mode 100644 index 0000000..16ef8dd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub018.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub018.utp new file mode 100644 index 0000000..94e8c6b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub018.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub019.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub019.utp new file mode 100644 index 0000000..39f5916 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub019.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub020.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub020.utp new file mode 100644 index 0000000..7a17cc1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub020.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub021.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub021.utp new file mode 100644 index 0000000..015a710 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub021.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub022.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub022.utp new file mode 100644 index 0000000..adfbf29 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub022.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub023.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub023.utp new file mode 100644 index 0000000..75a3a48 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub023.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub024.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub024.utp new file mode 100644 index 0000000..5aeb072 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub024.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub025.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub025.utp new file mode 100644 index 0000000..e6dd753 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub025.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub026.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub026.utp new file mode 100644 index 0000000..e9c18f9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub026.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub027.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub027.utp new file mode 100644 index 0000000..720ba57 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub027.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub028.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub028.utp new file mode 100644 index 0000000..1d2abfa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub028.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub029.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub029.utp new file mode 100644 index 0000000..2cc579d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub029.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub030.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub030.utp new file mode 100644 index 0000000..c1e233e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub030.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub031.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub031.utp new file mode 100644 index 0000000..e338fc3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub031.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub032.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub032.utp new file mode 100644 index 0000000..63f8dd1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub032.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub033.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub033.utp new file mode 100644 index 0000000..fd7688f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub033.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub034.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub034.utp new file mode 100644 index 0000000..900689f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub034.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub035.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub035.utp new file mode 100644 index 0000000..638f3a0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub035.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub036.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub036.utp new file mode 100644 index 0000000..76e470e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub036.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub037.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub037.utp new file mode 100644 index 0000000..da3b319 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub037.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub038.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub038.utp new file mode 100644 index 0000000..041018e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub038.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub041.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub041.utp new file mode 100644 index 0000000..0bd39ab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub041.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_shrub042.utp b/cep_blueprints/_hak/prc_add_sb/zep_shrub042.utp new file mode 100644 index 0000000..6aae370 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_shrub042.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_siegemine.utp b/cep_blueprints/_hak/prc_add_sb/zep_siegemine.utp new file mode 100644 index 0000000..b999ae4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_siegemine.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign.utp new file mode 100644 index 0000000..eed0899 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign001.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign001.utp new file mode 100644 index 0000000..a4a9b1d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign002.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign002.utp new file mode 100644 index 0000000..75072a1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign003.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign003.utp new file mode 100644 index 0000000..0e4c774 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign004.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign004.utp new file mode 100644 index 0000000..689de37 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign005.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign005.utp new file mode 100644 index 0000000..810be7a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign006.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign006.utp new file mode 100644 index 0000000..c746107 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign007.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign007.utp new file mode 100644 index 0000000..1a3f998 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign008.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign008.utp new file mode 100644 index 0000000..0aaf818 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign009.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign009.utp new file mode 100644 index 0000000..fd157d0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign010.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign010.utp new file mode 100644 index 0000000..9ff270a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign011.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign011.utp new file mode 100644 index 0000000..60c30f4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign012.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign012.utp new file mode 100644 index 0000000..b7a711b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign013.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign013.utp new file mode 100644 index 0000000..d3aeb20 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign014.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign014.utp new file mode 100644 index 0000000..526c252 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign015.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign015.utp new file mode 100644 index 0000000..587d01a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign016.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign016.utp new file mode 100644 index 0000000..8aa588d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign017.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign017.utp new file mode 100644 index 0000000..12caeca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign018.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign018.utp new file mode 100644 index 0000000..e27c9a1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign018.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign019.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign019.utp new file mode 100644 index 0000000..c0d6d83 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign019.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign020.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign020.utp new file mode 100644 index 0000000..5816a85 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign020.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign021.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign021.utp new file mode 100644 index 0000000..244ad5c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign021.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign022.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign022.utp new file mode 100644 index 0000000..2c102c5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign022.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign023.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign023.utp new file mode 100644 index 0000000..4eeaa40 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign023.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign024.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign024.utp new file mode 100644 index 0000000..1170f13 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign024.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign025.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign025.utp new file mode 100644 index 0000000..e360c90 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign025.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign026.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign026.utp new file mode 100644 index 0000000..835fb53 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign026.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign027.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign027.utp new file mode 100644 index 0000000..5825b92 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign027.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign028.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign028.utp new file mode 100644 index 0000000..72de75c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign028.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign029.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign029.utp new file mode 100644 index 0000000..39a7865 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign029.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign030.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign030.utp new file mode 100644 index 0000000..14f2ecf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign030.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign031.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign031.utp new file mode 100644 index 0000000..5f45c0c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign031.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign032.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign032.utp new file mode 100644 index 0000000..bd5df18 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign032.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign033.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign033.utp new file mode 100644 index 0000000..abefa60 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign033.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign034.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign034.utp new file mode 100644 index 0000000..52ff07f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign034.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign035.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign035.utp new file mode 100644 index 0000000..4538905 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign035.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign036.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign036.utp new file mode 100644 index 0000000..2da4761 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign036.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign037.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign037.utp new file mode 100644 index 0000000..af9cd44 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign037.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign038.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign038.utp new file mode 100644 index 0000000..b5d2ac1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign038.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sign039.utp b/cep_blueprints/_hak/prc_add_sb/zep_sign039.utp new file mode 100644 index 0000000..16d7fb4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sign039.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skeldoll2.utc b/cep_blueprints/_hak/prc_add_sb/zep_skeldoll2.utc new file mode 100644 index 0000000..e775c7e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skeldoll2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skeldolls.utc b/cep_blueprints/_hak/prc_add_sb/zep_skeldolls.utc new file mode 100644 index 0000000..f89013f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skeldolls.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skeldwarf.utc b/cep_blueprints/_hak/prc_add_sb/zep_skeldwarf.utc new file mode 100644 index 0000000..8fc8984 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skeldwarf.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skeldwarf2.utc b/cep_blueprints/_hak/prc_add_sb/zep_skeldwarf2.utc new file mode 100644 index 0000000..2758f14 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skeldwarf2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skeldyn_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_skeldyn_001.utc new file mode 100644 index 0000000..5db7922 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skeldyn_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skelflaming.utc b/cep_blueprints/_hak/prc_add_sb/zep_skelflaming.utc new file mode 100644 index 0000000..daa238f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skelflaming.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skelgreen.utc b/cep_blueprints/_hak/prc_add_sb/zep_skelgreen.utc new file mode 100644 index 0000000..ee6b25b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skelgreen.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skelly.utp b/cep_blueprints/_hak/prc_add_sb/zep_skelly.utp new file mode 100644 index 0000000..7633bbf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skelly.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skelly001.utp b/cep_blueprints/_hak/prc_add_sb/zep_skelly001.utp new file mode 100644 index 0000000..bbaf2b4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skelly001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skelogre.utc b/cep_blueprints/_hak/prc_add_sb/zep_skelogre.utc new file mode 100644 index 0000000..0b44834 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skelogre.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skelpir1.utc b/cep_blueprints/_hak/prc_add_sb/zep_skelpir1.utc new file mode 100644 index 0000000..6f2f776 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skelpir1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skelpir2.utc b/cep_blueprints/_hak/prc_add_sb/zep_skelpir2.utc new file mode 100644 index 0000000..0d17cf8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skelpir2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skelpir3.utc b/cep_blueprints/_hak/prc_add_sb/zep_skelpir3.utc new file mode 100644 index 0000000..f3c141d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skelpir3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skelpir4.utc b/cep_blueprints/_hak/prc_add_sb/zep_skelpir4.utc new file mode 100644 index 0000000..6f140ce Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skelpir4.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skelpir5.utc b/cep_blueprints/_hak/prc_add_sb/zep_skelpir5.utc new file mode 100644 index 0000000..8fcbbee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skelpir5.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skelpir6.utc b/cep_blueprints/_hak/prc_add_sb/zep_skelpir6.utc new file mode 100644 index 0000000..faabb1a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skelpir6.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skelpurple.utc b/cep_blueprints/_hak/prc_add_sb/zep_skelpurple.utc new file mode 100644 index 0000000..9ce9924 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skelpurple.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skelredeyes.utc b/cep_blueprints/_hak/prc_add_sb/zep_skelredeyes.utc new file mode 100644 index 0000000..9d089e4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skelredeyes.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skelyellow.utc b/cep_blueprints/_hak/prc_add_sb/zep_skelyellow.utc new file mode 100644 index 0000000..adfd7c4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skelyellow.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skin001.utp b/cep_blueprints/_hak/prc_add_sb/zep_skin001.utp new file mode 100644 index 0000000..aaded96 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skin001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skin002.utp b/cep_blueprints/_hak/prc_add_sb/zep_skin002.utp new file mode 100644 index 0000000..f2a8bfc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skin002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skinpole001.utp b/cep_blueprints/_hak/prc_add_sb/zep_skinpole001.utp new file mode 100644 index 0000000..246fdf8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skinpole001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skreav_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_skreav_001.uti new file mode 100644 index 0000000..e6f7654 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skreav_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skulkf.utc b/cep_blueprints/_hak/prc_add_sb/zep_skulkf.utc new file mode 100644 index 0000000..b582894 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skulkf.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skulkm.utc b/cep_blueprints/_hak/prc_add_sb/zep_skulkm.utc new file mode 100644 index 0000000..ed9da7b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skulkm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skull001.utp b/cep_blueprints/_hak/prc_add_sb/zep_skull001.utp new file mode 100644 index 0000000..ceb2452 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skull001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_skunk.utc b/cep_blueprints/_hak/prc_add_sb/zep_skunk.utc new file mode 100644 index 0000000..7aeb0bf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_skunk.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_slaadgrn.utc b/cep_blueprints/_hak/prc_add_sb/zep_slaadgrn.utc new file mode 100644 index 0000000..a4e35e3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_slaadgrn.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_slave.uti b/cep_blueprints/_hak/prc_add_sb/zep_slave.uti new file mode 100644 index 0000000..76e55ad Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_slave.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sleeper.utp b/cep_blueprints/_hak/prc_add_sb/zep_sleeper.utp new file mode 100644 index 0000000..197260f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sleeper.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sleeper001.utp b/cep_blueprints/_hak/prc_add_sb/zep_sleeper001.utp new file mode 100644 index 0000000..5127981 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sleeper001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sleeper002.utp b/cep_blueprints/_hak/prc_add_sb/zep_sleeper002.utp new file mode 100644 index 0000000..69f0234 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sleeper002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sleeper003.utp b/cep_blueprints/_hak/prc_add_sb/zep_sleeper003.utp new file mode 100644 index 0000000..e650c09 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sleeper003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sleeper004.utp b/cep_blueprints/_hak/prc_add_sb/zep_sleeper004.utp new file mode 100644 index 0000000..9f0e9e7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sleeper004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_slitheringl.utc b/cep_blueprints/_hak/prc_add_sb/zep_slitheringl.utc new file mode 100644 index 0000000..c708676 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_slitheringl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_slitheringm.utc b/cep_blueprints/_hak/prc_add_sb/zep_slitheringm.utc new file mode 100644 index 0000000..3fdbddf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_slitheringm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_slitherings.utc b/cep_blueprints/_hak/prc_add_sb/zep_slitherings.utc new file mode 100644 index 0000000..0c0878d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_slitherings.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_smallflag001.utp b/cep_blueprints/_hak/prc_add_sb/zep_smallflag001.utp new file mode 100644 index 0000000..b3d7f9a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_smallflag001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_smiley.utc b/cep_blueprints/_hak/prc_add_sb/zep_smiley.utc new file mode 100644 index 0000000..02b19f1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_smiley.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_smoke001.utp b/cep_blueprints/_hak/prc_add_sb/zep_smoke001.utp new file mode 100644 index 0000000..f5135ad Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_smoke001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_smokea.utp b/cep_blueprints/_hak/prc_add_sb/zep_smokea.utp new file mode 100644 index 0000000..01dbb0d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_smokea.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_smokeb.utp b/cep_blueprints/_hak/prc_add_sb/zep_smokeb.utp new file mode 100644 index 0000000..9e96b35 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_smokeb.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_smokesm.utp b/cep_blueprints/_hak/prc_add_sb/zep_smokesm.utp new file mode 100644 index 0000000..57aa0c2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_smokesm.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_soot.utp b/cep_blueprints/_hak/prc_add_sb/zep_soot.utp new file mode 100644 index 0000000..63526fb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_soot.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_soot001.utp b/cep_blueprints/_hak/prc_add_sb/zep_soot001.utp new file mode 100644 index 0000000..04c97ce Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_soot001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_soot002.utp b/cep_blueprints/_hak/prc_add_sb/zep_soot002.utp new file mode 100644 index 0000000..02a24f3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_soot002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_soot_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_soot_001.utp new file mode 100644 index 0000000..d7b5a56 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_soot_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_soot_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_soot_002.utp new file mode 100644 index 0000000..d6ddc27 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_soot_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_soot_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_soot_003.utp new file mode 100644 index 0000000..54bafb4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_soot_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sormen.utc b/cep_blueprints/_hak/prc_add_sb/zep_sormen.utc new file mode 100644 index 0000000..29c4117 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sormen.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spd_rid_prcv.ncs b/cep_blueprints/_hak/prc_add_sb/zep_spd_rid_prcv.ncs new file mode 100644 index 0000000..ea5454c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spd_rid_prcv.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spd_rid_prcv.nss b/cep_blueprints/_hak/prc_add_sb/zep_spd_rid_prcv.nss new file mode 100644 index 0000000..7f09db1 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_spd_rid_prcv.nss @@ -0,0 +1,75 @@ +//:://///////////////////////////////////////////// +//:: Default On Percieve +//:: NW_C2_DEFAULT2 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Checks to see if the perceived target is an + enemy and if so fires the Determine Combat + Round function +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 16, 2001 +//::////////////////////////////////////////////// + +#include "NW_I0_GENERIC" + +void main() +{ + //This is the equivalent of a force conversation bubble, should only be used if you want an NPC + //to say something while he is already engaged in combat. + if(GetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION) && GetIsPC(GetLastPerceived()) && GetLastPerceptionSeen()) + { + SpeakOneLinerConversation(); + } + //If the last perception event was hearing based or if someone vanished then go to search mode + if ((GetLastPerceptionVanished()) && GetIsEnemy(GetLastPerceived())) + { + object oGone = GetLastPerceived(); + if((GetAttemptedAttackTarget() == GetLastPerceived() || + GetAttemptedSpellTarget() == GetLastPerceived() || + GetAttackTarget() == GetLastPerceived()) && GetArea(GetLastPerceived()) != GetArea(OBJECT_SELF)) + { + ClearAllActions(); + DetermineCombatRound(); + } + } + //Do not bother checking the last target seen if already fighting + else if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget())) + { + //Check if the last percieved creature was actually seen + if(GetLastPerceptionSeen()) + { + if(GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL)) + { + DetermineSpecialBehavior(); + } + else if(GetIsEnemy(GetLastPerceived())) + { + if(!GetHasEffect(EFFECT_TYPE_SLEEP)) + { + SetFacingPoint(GetPosition(GetLastPerceived())); + SpeakString("NW_I_WAS_ATTACKED", TALKVOLUME_SILENT_TALK); + + // Have to use the taunt animation I made, heh - Kinarr + if(Random(100) > 50) + { + ActionUseSkill(SKILL_TAUNT, GetLastPerceived() ); + } + else DetermineCombatRound(); + } + } + //Linked up to the special conversation check to initiate a special one-off conversation + //to get the PCs attention + else if(GetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION) && GetIsPC(GetLastPerceived())) + { + ActionStartConversation(OBJECT_SELF); + } + } + } + if(GetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT) && GetLastPerceptionSeen()) + { + SignalEvent(OBJECT_SELF, EventUserDefined(1002)); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spearrack.utp b/cep_blueprints/_hak/prc_add_sb/zep_spearrack.utp new file mode 100644 index 0000000..429fc9e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spearrack.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spellbsin001.utp b/cep_blueprints/_hak/prc_add_sb/zep_spellbsin001.utp new file mode 100644 index 0000000..a945f6a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spellbsin001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spellbsin002.utp b/cep_blueprints/_hak/prc_add_sb/zep_spellbsin002.utp new file mode 100644 index 0000000..5d5c2bb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spellbsin002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spellbsin003.utp b/cep_blueprints/_hak/prc_add_sb/zep_spellbsin003.utp new file mode 100644 index 0000000..bdb990c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spellbsin003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spellbsin004.utp b/cep_blueprints/_hak/prc_add_sb/zep_spellbsin004.utp new file mode 100644 index 0000000..da61c92 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spellbsin004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sphinxandro.utc b/cep_blueprints/_hak/prc_add_sb/zep_sphinxandro.utc new file mode 100644 index 0000000..d48c367 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sphinxandro.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sphinxgyno.utc b/cep_blueprints/_hak/prc_add_sb/zep_sphinxgyno.utc new file mode 100644 index 0000000..6f06bd7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sphinxgyno.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sphinxhier.utc b/cep_blueprints/_hak/prc_add_sb/zep_sphinxhier.utc new file mode 100644 index 0000000..e7afb5b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sphinxhier.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spidbloodbak.utc b/cep_blueprints/_hak/prc_add_sb/zep_spidbloodbak.utc new file mode 100644 index 0000000..5b2990a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spidbloodbak.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spiddire.utc b/cep_blueprints/_hak/prc_add_sb/zep_spiddire.utc new file mode 100644 index 0000000..0d251ce Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spiddire.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spiderking.utc b/cep_blueprints/_hak/prc_add_sb/zep_spiderking.utc new file mode 100644 index 0000000..3ad2469 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spiderking.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spiderling.utc b/cep_blueprints/_hak/prc_add_sb/zep_spiderling.utc new file mode 100644 index 0000000..66308bc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spiderling.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spiderlingsw.utc b/cep_blueprints/_hak/prc_add_sb/zep_spiderlingsw.utc new file mode 100644 index 0000000..b0d1120 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spiderlingsw.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spidfiend1.utc b/cep_blueprints/_hak/prc_add_sb/zep_spidfiend1.utc new file mode 100644 index 0000000..51634a8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spidfiend1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spidfiend2.utc b/cep_blueprints/_hak/prc_add_sb/zep_spidfiend2.utc new file mode 100644 index 0000000..0f6cb26 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spidfiend2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spidfiend3.utc b/cep_blueprints/_hak/prc_add_sb/zep_spidfiend3.utc new file mode 100644 index 0000000..58b7cff Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spidfiend3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spidfiend4.utc b/cep_blueprints/_hak/prc_add_sb/zep_spidfiend4.utc new file mode 100644 index 0000000..575e6c2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spidfiend4.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spidfiend5.utc b/cep_blueprints/_hak/prc_add_sb/zep_spidfiend5.utc new file mode 100644 index 0000000..f1778bd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spidfiend5.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spidgiant.utc b/cep_blueprints/_hak/prc_add_sb/zep_spidgiant.utc new file mode 100644 index 0000000..848b7f7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spidgiant.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spidice.utc b/cep_blueprints/_hak/prc_add_sb/zep_spidice.utc new file mode 100644 index 0000000..42b6cd6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spidice.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spidphase.utc b/cep_blueprints/_hak/prc_add_sb/zep_spidphase.utc new file mode 100644 index 0000000..39450e8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spidphase.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spidredback.utc b/cep_blueprints/_hak/prc_add_sb/zep_spidredback.utc new file mode 100644 index 0000000..6111222 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spidredback.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spidwra.utc b/cep_blueprints/_hak/prc_add_sb/zep_spidwra.utc new file mode 100644 index 0000000..727102d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spidwra.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spike001.utp b/cep_blueprints/_hak/prc_add_sb/zep_spike001.utp new file mode 100644 index 0000000..cdf9ede Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spike001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_spiker.utc b/cep_blueprints/_hak/prc_add_sb/zep_spiker.utc new file mode 100644 index 0000000..46f93d2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_spiker.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_splat001.utp b/cep_blueprints/_hak/prc_add_sb/zep_splat001.utp new file mode 100644 index 0000000..250c0ae Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_splat001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_splat002.utp b/cep_blueprints/_hak/prc_add_sb/zep_splat002.utp new file mode 100644 index 0000000..f0fd72e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_splat002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_splat003.utp b/cep_blueprints/_hak/prc_add_sb/zep_splat003.utp new file mode 100644 index 0000000..7ac6a89 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_splat003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_splat004.utp b/cep_blueprints/_hak/prc_add_sb/zep_splat004.utp new file mode 100644 index 0000000..3feffb6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_splat004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_splat005.utp b/cep_blueprints/_hak/prc_add_sb/zep_splat005.utp new file mode 100644 index 0000000..10a013e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_splat005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_splat006.utp b/cep_blueprints/_hak/prc_add_sb/zep_splat006.utp new file mode 100644 index 0000000..7f5c79c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_splat006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_splat007.utp b/cep_blueprints/_hak/prc_add_sb/zep_splat007.utp new file mode 100644 index 0000000..a69282f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_splat007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_splat008.utp b/cep_blueprints/_hak/prc_add_sb/zep_splat008.utp new file mode 100644 index 0000000..2eb0504 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_splat008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_splat009.utp b/cep_blueprints/_hak/prc_add_sb/zep_splat009.utp new file mode 100644 index 0000000..994f8df Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_splat009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_splat010.utp b/cep_blueprints/_hak/prc_add_sb/zep_splat010.utp new file mode 100644 index 0000000..c235496 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_splat010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_splat011.utp b/cep_blueprints/_hak/prc_add_sb/zep_splat011.utp new file mode 100644 index 0000000..8d5e250 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_splat011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_splat012.utp b/cep_blueprints/_hak/prc_add_sb/zep_splat012.utp new file mode 100644 index 0000000..8465e02 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_splat012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_springal.utp b/cep_blueprints/_hak/prc_add_sb/zep_springal.utp new file mode 100644 index 0000000..04f085c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_springal.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_squirrel_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_squirrel_001.utc new file mode 100644 index 0000000..5a4f05d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_squirrel_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_squirrel_002.utc b/cep_blueprints/_hak/prc_add_sb/zep_squirrel_002.utc new file mode 100644 index 0000000..23f1bbd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_squirrel_002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_srcophgus001.utp b/cep_blueprints/_hak/prc_add_sb/zep_srcophgus001.utp new file mode 100644 index 0000000..d565a58 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_srcophgus001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_srcophgus002.utp b/cep_blueprints/_hak/prc_add_sb/zep_srcophgus002.utp new file mode 100644 index 0000000..6d26286 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_srcophgus002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ss_pil_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ss_pil_001.utp new file mode 100644 index 0000000..5a8defb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ss_pil_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ss_pil_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_ss_pil_002.utp new file mode 100644 index 0000000..6ff5b7c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ss_pil_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sshldem_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_sshldem_001.uti new file mode 100644 index 0000000..9ecd3f6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sshldem_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sshldsn_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_sshldsn_001.uti new file mode 100644 index 0000000..95a1d31 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sshldsn_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sspiderg.utc b/cep_blueprints/_hak/prc_add_sb/zep_sspiderg.utc new file mode 100644 index 0000000..8164670 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sspiderg.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sspiderl.utc b/cep_blueprints/_hak/prc_add_sb/zep_sspiderl.utc new file mode 100644 index 0000000..5912da9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sspiderl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sspiderm.utc b/cep_blueprints/_hak/prc_add_sb/zep_sspiderm.utc new file mode 100644 index 0000000..23b0284 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sspiderm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sspiders.utc b/cep_blueprints/_hak/prc_add_sb/zep_sspiders.utc new file mode 100644 index 0000000..0b46092 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sspiders.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sspidert.utc b/cep_blueprints/_hak/prc_add_sb/zep_sspidert.utc new file mode 100644 index 0000000..aec7e1c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sspidert.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stain001.utp b/cep_blueprints/_hak/prc_add_sb/zep_stain001.utp new file mode 100644 index 0000000..cfdd119 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stain001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statue001.utp b/cep_blueprints/_hak/prc_add_sb/zep_statue001.utp new file mode 100644 index 0000000..2f15aa4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statue001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statue002.utp b/cep_blueprints/_hak/prc_add_sb/zep_statue002.utp new file mode 100644 index 0000000..26e1538 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statue002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statue003.utp b/cep_blueprints/_hak/prc_add_sb/zep_statue003.utp new file mode 100644 index 0000000..bdc871b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statue003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues001.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues001.utp new file mode 100644 index 0000000..82cb705 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues002.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues002.utp new file mode 100644 index 0000000..df2d965 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues003.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues003.utp new file mode 100644 index 0000000..e37ed8c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues004.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues004.utp new file mode 100644 index 0000000..9dbaf10 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues005.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues005.utp new file mode 100644 index 0000000..d2ea4fc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues006.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues006.utp new file mode 100644 index 0000000..48462d8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues007.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues007.utp new file mode 100644 index 0000000..5871ee9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues008.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues008.utp new file mode 100644 index 0000000..0f67a44 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues009.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues009.utp new file mode 100644 index 0000000..4a0d7b8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues010.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues010.utp new file mode 100644 index 0000000..c8e555b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues011.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues011.utp new file mode 100644 index 0000000..a9f4b40 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues012.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues012.utp new file mode 100644 index 0000000..9ba5257 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues013.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues013.utp new file mode 100644 index 0000000..9a30d76 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues014.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues014.utp new file mode 100644 index 0000000..a00a476 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues015.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues015.utp new file mode 100644 index 0000000..af5b6a0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues016.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues016.utp new file mode 100644 index 0000000..319574f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues017.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues017.utp new file mode 100644 index 0000000..7071dee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues018.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues018.utp new file mode 100644 index 0000000..a0c1e29 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues018.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues019.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues019.utp new file mode 100644 index 0000000..0f7cdb8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues019.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues020.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues020.utp new file mode 100644 index 0000000..a4ff224 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues020.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues021.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues021.utp new file mode 100644 index 0000000..e127292 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues021.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues022.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues022.utp new file mode 100644 index 0000000..6292b72 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues022.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues023.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues023.utp new file mode 100644 index 0000000..0c6e7fe Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues023.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues024.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues024.utp new file mode 100644 index 0000000..316513b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues024.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues025.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues025.utp new file mode 100644 index 0000000..ab9f58c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues025.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues026.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues026.utp new file mode 100644 index 0000000..ad73460 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues026.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues027.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues027.utp new file mode 100644 index 0000000..9a71522 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues027.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues028.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues028.utp new file mode 100644 index 0000000..0925bf1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues028.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues029.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues029.utp new file mode 100644 index 0000000..b83f66d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues029.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues030.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues030.utp new file mode 100644 index 0000000..0947b0e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues030.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_statues031.utp b/cep_blueprints/_hak/prc_add_sb/zep_statues031.utp new file mode 100644 index 0000000..62ede6e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_statues031.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_steak001.utp b/cep_blueprints/_hak/prc_add_sb/zep_steak001.utp new file mode 100644 index 0000000..9439a2d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_steak001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_steak002.utp b/cep_blueprints/_hak/prc_add_sb/zep_steak002.utp new file mode 100644 index 0000000..8348145 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_steak002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_steak_dag.utp b/cep_blueprints/_hak/prc_add_sb/zep_steak_dag.utp new file mode 100644 index 0000000..5343b63 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_steak_dag.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stew.utp b/cep_blueprints/_hak/prc_add_sb/zep_stew.utp new file mode 100644 index 0000000..da8f161 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stew.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stew_dag001.utp b/cep_blueprints/_hak/prc_add_sb/zep_stew_dag001.utp new file mode 100644 index 0000000..ef69cbb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stew_dag001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stirge.utc b/cep_blueprints/_hak/prc_add_sb/zep_stirge.utc new file mode 100644 index 0000000..c9a614e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stirge.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stirgecave.utc b/cep_blueprints/_hak/prc_add_sb/zep_stirgecave.utc new file mode 100644 index 0000000..032cb60 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stirgecave.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stirgeg.utc b/cep_blueprints/_hak/prc_add_sb/zep_stirgeg.utc new file mode 100644 index 0000000..c9a1855 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stirgeg.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stnlntrn002.utp b/cep_blueprints/_hak/prc_add_sb/zep_stnlntrn002.utp new file mode 100644 index 0000000..8998602 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stnlntrn002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stnlntrn003.utp b/cep_blueprints/_hak/prc_add_sb/zep_stnlntrn003.utp new file mode 100644 index 0000000..5db113e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stnlntrn003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stnlntrn004.utp b/cep_blueprints/_hak/prc_add_sb/zep_stnlntrn004.utp new file mode 100644 index 0000000..5260179 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stnlntrn004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stnlntrn005.utp b/cep_blueprints/_hak/prc_add_sb/zep_stnlntrn005.utp new file mode 100644 index 0000000..cc88041 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stnlntrn005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stocks001.utp b/cep_blueprints/_hak/prc_add_sb/zep_stocks001.utp new file mode 100644 index 0000000..8595b34 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stocks001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stocksuse.ncs b/cep_blueprints/_hak/prc_add_sb/zep_stocksuse.ncs new file mode 100644 index 0000000..70c540c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stocksuse.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stocksuse.nss b/cep_blueprints/_hak/prc_add_sb/zep_stocksuse.nss new file mode 100644 index 0000000..4278a4f --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_stocksuse.nss @@ -0,0 +1,58 @@ +//::////////////////////////////////////////////// +//:: Created By: John Hawkins +//:: Created On: January 2004 +//::////////////////////////////////////////////// +//:: +//:: this script will make my placeable prisoners +//:: react to you and talk to you if desired. +//:: +//:: to converse with the placeable, you need to +//:: put the name of the conversation you wish to +//:: have inside the quotation marks ("") down in +//:: line 57. +//:: +//::////////////////////////////////////////////// + +void main() +{ + object oUser = GetLastUsedBy(); + int iRnd = d6(); + string sSound = IntToString(iRnd); + if (GetLocalInt(OBJECT_SELF,"disturbed") == 0) + { + object oSelf = OBJECT_SELF; + PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE); + SetLocalInt(OBJECT_SELF,"disturbed",1); + } + else + { + object oSelf = OBJECT_SELF; + PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE); + SetLocalInt(OBJECT_SELF,"disturbed",0); + } + if(iRnd==1) + { + AssignCommand(oUser,PlaySound("as_pl_ailingm1")); + } + if(iRnd==2) + { + AssignCommand(oUser,PlaySound("as_pl_despairm1")); + } + if(iRnd==3) + { + AssignCommand(oUser,PlaySound("as_pl_despairm2")); + } + if(iRnd==4) + { + AssignCommand(oUser,PlaySound("as_pl_cryingm1")); + } + if(iRnd==5) + { + AssignCommand(oUser,PlaySound("as_pl_despairm1")); + } + if(iRnd==6) + { + AssignCommand(oUser,PlaySound("as_pl_despairm2")); + } + //AssignCommand(OBJECT_SELF,ActionStartConversation(oUser,"",FALSE,FALSE)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stonebloc001.utp b/cep_blueprints/_hak/prc_add_sb/zep_stonebloc001.utp new file mode 100644 index 0000000..c04490a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stonebloc001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stonebloc002.utp b/cep_blueprints/_hak/prc_add_sb/zep_stonebloc002.utp new file mode 100644 index 0000000..7f0ef4a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stonebloc002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stonebsin001.utp b/cep_blueprints/_hak/prc_add_sb/zep_stonebsin001.utp new file mode 100644 index 0000000..7776d50 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stonebsin001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stonebsin002.utp b/cep_blueprints/_hak/prc_add_sb/zep_stonebsin002.utp new file mode 100644 index 0000000..cd3cd43 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stonebsin002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stonebsin003.utp b/cep_blueprints/_hak/prc_add_sb/zep_stonebsin003.utp new file mode 100644 index 0000000..2312885 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stonebsin003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stones001.utp b/cep_blueprints/_hak/prc_add_sb/zep_stones001.utp new file mode 100644 index 0000000..89c5771 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stones001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stones002.utp b/cep_blueprints/_hak/prc_add_sb/zep_stones002.utp new file mode 100644 index 0000000..4a2910f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stones002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stones003.utp b/cep_blueprints/_hak/prc_add_sb/zep_stones003.utp new file mode 100644 index 0000000..45cfae5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stones003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stones004.utp b/cep_blueprints/_hak/prc_add_sb/zep_stones004.utp new file mode 100644 index 0000000..c450866 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stones004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stones005.utp b/cep_blueprints/_hak/prc_add_sb/zep_stones005.utp new file mode 100644 index 0000000..3d90403 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stones005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stones006.utp b/cep_blueprints/_hak/prc_add_sb/zep_stones006.utp new file mode 100644 index 0000000..1519819 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stones006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stones007.utp b/cep_blueprints/_hak/prc_add_sb/zep_stones007.utp new file mode 100644 index 0000000..dcc9103 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stones007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stones008.utp b/cep_blueprints/_hak/prc_add_sb/zep_stones008.utp new file mode 100644 index 0000000..c65b5d2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stones008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stones009.utp b/cep_blueprints/_hak/prc_add_sb/zep_stones009.utp new file mode 100644 index 0000000..0e06b53 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stones009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stones010.utp b/cep_blueprints/_hak/prc_add_sb/zep_stones010.utp new file mode 100644 index 0000000..07c145f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stones010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stones011.utp b/cep_blueprints/_hak/prc_add_sb/zep_stones011.utp new file mode 100644 index 0000000..4f4eab0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stones011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stones012.utp b/cep_blueprints/_hak/prc_add_sb/zep_stones012.utp new file mode 100644 index 0000000..6c58916 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stones012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stones013.utp b/cep_blueprints/_hak/prc_add_sb/zep_stones013.utp new file mode 100644 index 0000000..9f55995 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stones013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stones014.utp b/cep_blueprints/_hak/prc_add_sb/zep_stones014.utp new file mode 100644 index 0000000..c31c8ce Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stones014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stones015.utp b/cep_blueprints/_hak/prc_add_sb/zep_stones015.utp new file mode 100644 index 0000000..4c1c376 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stones015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stones016.utp b/cep_blueprints/_hak/prc_add_sb/zep_stones016.utp new file mode 100644 index 0000000..b71473d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stones016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stones017.utp b/cep_blueprints/_hak/prc_add_sb/zep_stones017.utp new file mode 100644 index 0000000..d4c51ca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stones017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stones018.utp b/cep_blueprints/_hak/prc_add_sb/zep_stones018.utp new file mode 100644 index 0000000..e696390 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stones018.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stones019.utp b/cep_blueprints/_hak/prc_add_sb/zep_stones019.utp new file mode 100644 index 0000000..f3580b9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stones019.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_stool001.utp b/cep_blueprints/_hak/prc_add_sb/zep_stool001.utp new file mode 100644 index 0000000..07bd2b3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_stool001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_strange001.utp b/cep_blueprints/_hak/prc_add_sb/zep_strange001.utp new file mode 100644 index 0000000..c981163 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_strange001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_studdedleath.uti b/cep_blueprints/_hak/prc_add_sb/zep_studdedleath.uti new file mode 100644 index 0000000..c39f487 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_studdedleath.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_succubus.utc b/cep_blueprints/_hak/prc_add_sb/zep_succubus.utc new file mode 100644 index 0000000..90833d6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_succubus.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sucubusa.utc b/cep_blueprints/_hak/prc_add_sb/zep_sucubusa.utc new file mode 100644 index 0000000..80bb2a0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sucubusa.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sum_horse01.uti b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse01.uti new file mode 100644 index 0000000..4b02644 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse01.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sum_horse010.uti b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse010.uti new file mode 100644 index 0000000..8e8d69b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse010.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sum_horse011.uti b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse011.uti new file mode 100644 index 0000000..fa3d7e3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse011.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sum_horse012.uti b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse012.uti new file mode 100644 index 0000000..192a7a7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse012.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sum_horse013.uti b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse013.uti new file mode 100644 index 0000000..c5a261a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse013.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sum_horse014.uti b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse014.uti new file mode 100644 index 0000000..4552831 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse014.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sum_horse015.uti b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse015.uti new file mode 100644 index 0000000..bc5910b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse015.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sum_horse016.uti b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse016.uti new file mode 100644 index 0000000..f1190f5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse016.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sum_horse017.uti b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse017.uti new file mode 100644 index 0000000..8175067 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse017.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sum_horse018.uti b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse018.uti new file mode 100644 index 0000000..97fae06 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse018.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sum_horse02.uti b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse02.uti new file mode 100644 index 0000000..e5002d5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse02.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sum_horse03.uti b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse03.uti new file mode 100644 index 0000000..3626ed8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse03.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sum_horse04.uti b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse04.uti new file mode 100644 index 0000000..18b0d27 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse04.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sum_horse05.uti b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse05.uti new file mode 100644 index 0000000..bc2e9d2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse05.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sum_horse06.uti b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse06.uti new file mode 100644 index 0000000..045e1f6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse06.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sum_horse07.uti b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse07.uti new file mode 100644 index 0000000..60f19c5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse07.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sum_horse08.uti b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse08.uti new file mode 100644 index 0000000..b508432 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse08.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_sum_horse09.uti b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse09.uti new file mode 100644 index 0000000..15c79c7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_sum_horse09.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_swall001.utp b/cep_blueprints/_hak/prc_add_sb/zep_swall001.utp new file mode 100644 index 0000000..2354f51 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_swall001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_swall002.utp b/cep_blueprints/_hak/prc_add_sb/zep_swall002.utp new file mode 100644 index 0000000..4cccfce Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_swall002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_swall003.utp b/cep_blueprints/_hak/prc_add_sb/zep_swall003.utp new file mode 100644 index 0000000..8f72093 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_swall003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_swordrack001.utp b/cep_blueprints/_hak/prc_add_sb/zep_swordrack001.utp new file mode 100644 index 0000000..e3ad683 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_swordrack001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_swordrack002.utp b/cep_blueprints/_hak/prc_add_sb/zep_swordrack002.utp new file mode 100644 index 0000000..d7dfa68 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_swordrack002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ta_sfd_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ta_sfd_001.utp new file mode 100644 index 0000000..3390878 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ta_sfd_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ta_sob_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_ta_sob_001.utp new file mode 100644 index 0000000..71a900d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ta_sob_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tabishb_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_tabishb_001.uti new file mode 100644 index 0000000..641206c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tabishb_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tabishb_002.uti b/cep_blueprints/_hak/prc_add_sb/zep_tabishb_002.uti new file mode 100644 index 0000000..980e591 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tabishb_002.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tabishg_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_tabishg_001.uti new file mode 100644 index 0000000..c88f7d7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tabishg_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tabishr_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_tabishr_001.uti new file mode 100644 index 0000000..5c24155 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tabishr_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tabishw_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_tabishw_001.uti new file mode 100644 index 0000000..4b71aa1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tabishw_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table001.utp b/cep_blueprints/_hak/prc_add_sb/zep_table001.utp new file mode 100644 index 0000000..c8efab4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table002.utp b/cep_blueprints/_hak/prc_add_sb/zep_table002.utp new file mode 100644 index 0000000..b1d113e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table003.utp b/cep_blueprints/_hak/prc_add_sb/zep_table003.utp new file mode 100644 index 0000000..8f6ff3e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table004.utp b/cep_blueprints/_hak/prc_add_sb/zep_table004.utp new file mode 100644 index 0000000..0df936e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table005.utp b/cep_blueprints/_hak/prc_add_sb/zep_table005.utp new file mode 100644 index 0000000..5ad9b2b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table006.utp b/cep_blueprints/_hak/prc_add_sb/zep_table006.utp new file mode 100644 index 0000000..1d49f41 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table007.utp b/cep_blueprints/_hak/prc_add_sb/zep_table007.utp new file mode 100644 index 0000000..b910fe8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table008.utp b/cep_blueprints/_hak/prc_add_sb/zep_table008.utp new file mode 100644 index 0000000..49f7486 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table009.utp b/cep_blueprints/_hak/prc_add_sb/zep_table009.utp new file mode 100644 index 0000000..b5bc691 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table01.utp b/cep_blueprints/_hak/prc_add_sb/zep_table01.utp new file mode 100644 index 0000000..351a1d4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table010.utp b/cep_blueprints/_hak/prc_add_sb/zep_table010.utp new file mode 100644 index 0000000..bf4caf5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table011.utp b/cep_blueprints/_hak/prc_add_sb/zep_table011.utp new file mode 100644 index 0000000..5a52203 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table012.utp b/cep_blueprints/_hak/prc_add_sb/zep_table012.utp new file mode 100644 index 0000000..2772cf5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table02.utp b/cep_blueprints/_hak/prc_add_sb/zep_table02.utp new file mode 100644 index 0000000..4b4fb6f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table03.utp b/cep_blueprints/_hak/prc_add_sb/zep_table03.utp new file mode 100644 index 0000000..4129344 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table03.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table04.utp b/cep_blueprints/_hak/prc_add_sb/zep_table04.utp new file mode 100644 index 0000000..4df1b60 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table04.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table05.utp b/cep_blueprints/_hak/prc_add_sb/zep_table05.utp new file mode 100644 index 0000000..f8dd49b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table05.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table06.utp b/cep_blueprints/_hak/prc_add_sb/zep_table06.utp new file mode 100644 index 0000000..c05eeb6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table06.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table07.utp b/cep_blueprints/_hak/prc_add_sb/zep_table07.utp new file mode 100644 index 0000000..11579af Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table07.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_table099.utp b/cep_blueprints/_hak/prc_add_sb/zep_table099.utp new file mode 100644 index 0000000..9bb3706 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_table099.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tableglass.utp b/cep_blueprints/_hak/prc_add_sb/zep_tableglass.utp new file mode 100644 index 0000000..fb17579 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tableglass.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tables001.utp b/cep_blueprints/_hak/prc_add_sb/zep_tables001.utp new file mode 100644 index 0000000..0ca4ef0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tables001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tables002.utp b/cep_blueprints/_hak/prc_add_sb/zep_tables002.utp new file mode 100644 index 0000000..0339348 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tables002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tables003.utp b/cep_blueprints/_hak/prc_add_sb/zep_tables003.utp new file mode 100644 index 0000000..ed54a97 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tables003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tables004.utp b/cep_blueprints/_hak/prc_add_sb/zep_tables004.utp new file mode 100644 index 0000000..6731114 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tables004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tables005.utp b/cep_blueprints/_hak/prc_add_sb/zep_tables005.utp new file mode 100644 index 0000000..82f8567 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tables005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tables006.utp b/cep_blueprints/_hak/prc_add_sb/zep_tables006.utp new file mode 100644 index 0000000..33e9c12 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tables006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tables007.utp b/cep_blueprints/_hak/prc_add_sb/zep_tables007.utp new file mode 100644 index 0000000..2eab56d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tables007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tables008.utp b/cep_blueprints/_hak/prc_add_sb/zep_tables008.utp new file mode 100644 index 0000000..9d816ca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tables008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tables009.utp b/cep_blueprints/_hak/prc_add_sb/zep_tables009.utp new file mode 100644 index 0000000..7363adb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tables009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tambourine.uti b/cep_blueprints/_hak/prc_add_sb/zep_tambourine.uti new file mode 100644 index 0000000..c9dacaf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tambourine.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tansu001.utp b/cep_blueprints/_hak/prc_add_sb/zep_tansu001.utp new file mode 100644 index 0000000..d0673c4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tansu001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tansu002.utp b/cep_blueprints/_hak/prc_add_sb/zep_tansu002.utp new file mode 100644 index 0000000..951e266 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tansu002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tansu003.utp b/cep_blueprints/_hak/prc_add_sb/zep_tansu003.utp new file mode 100644 index 0000000..88f01df Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tansu003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tanto.uti b/cep_blueprints/_hak/prc_add_sb/zep_tanto.uti new file mode 100644 index 0000000..f7d7cca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tanto.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tap001.utp b/cep_blueprints/_hak/prc_add_sb/zep_tap001.utp new file mode 100644 index 0000000..801e8f1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tap001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tap002.utp b/cep_blueprints/_hak/prc_add_sb/zep_tap002.utp new file mode 100644 index 0000000..f376212 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tap002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tap003.utp b/cep_blueprints/_hak/prc_add_sb/zep_tap003.utp new file mode 100644 index 0000000..ffd903a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tap003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tap004.utp b/cep_blueprints/_hak/prc_add_sb/zep_tap004.utp new file mode 100644 index 0000000..e7c6644 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tap004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tap005.utp b/cep_blueprints/_hak/prc_add_sb/zep_tap005.utp new file mode 100644 index 0000000..9c0518e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tap005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tap006.utp b/cep_blueprints/_hak/prc_add_sb/zep_tap006.utp new file mode 100644 index 0000000..7a40bfc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tap006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tap007.utp b/cep_blueprints/_hak/prc_add_sb/zep_tap007.utp new file mode 100644 index 0000000..b4bf5cf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tap007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tap008.utp b/cep_blueprints/_hak/prc_add_sb/zep_tap008.utp new file mode 100644 index 0000000..2b341b7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tap008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tap009.utp b/cep_blueprints/_hak/prc_add_sb/zep_tap009.utp new file mode 100644 index 0000000..3afd7cb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tap009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tap010.utp b/cep_blueprints/_hak/prc_add_sb/zep_tap010.utp new file mode 100644 index 0000000..cc79c65 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tap010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tap011.utp b/cep_blueprints/_hak/prc_add_sb/zep_tap011.utp new file mode 100644 index 0000000..292428c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tap011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tapestry001.utp b/cep_blueprints/_hak/prc_add_sb/zep_tapestry001.utp new file mode 100644 index 0000000..1d0bfee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tapestry001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tapestry002.utp b/cep_blueprints/_hak/prc_add_sb/zep_tapestry002.utp new file mode 100644 index 0000000..77e766b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tapestry002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tapestry003.utp b/cep_blueprints/_hak/prc_add_sb/zep_tapestry003.utp new file mode 100644 index 0000000..d0d3fa8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tapestry003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tapir1.utc b/cep_blueprints/_hak/prc_add_sb/zep_tapir1.utc new file mode 100644 index 0000000..16b4f72 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tapir1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tapir2.utc b/cep_blueprints/_hak/prc_add_sb/zep_tapir2.utc new file mode 100644 index 0000000..6382b1c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tapir2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tapstry_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_tapstry_001.utp new file mode 100644 index 0000000..af3cec8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tapstry_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tapstry_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_tapstry_002.utp new file mode 100644 index 0000000..7e61b9b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tapstry_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tapstry_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_tapstry_003.utp new file mode 100644 index 0000000..5decaee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tapstry_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tapstry_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_tapstry_004.utp new file mode 100644 index 0000000..1baa8e6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tapstry_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tapstry_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_tapstry_005.utp new file mode 100644 index 0000000..e0f9ada Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tapstry_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tapstry_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_tapstry_006.utp new file mode 100644 index 0000000..b5db5fc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tapstry_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tapstry_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_tapstry_007.utp new file mode 100644 index 0000000..6d3e4ad Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tapstry_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tapstry_008.utp b/cep_blueprints/_hak/prc_add_sb/zep_tapstry_008.utp new file mode 100644 index 0000000..efe3fca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tapstry_008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tapstry_009.utp b/cep_blueprints/_hak/prc_add_sb/zep_tapstry_009.utp new file mode 100644 index 0000000..a3c2b8f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tapstry_009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tatami001.utp b/cep_blueprints/_hak/prc_add_sb/zep_tatami001.utp new file mode 100644 index 0000000..568e48a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tatami001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tatami002.utp b/cep_blueprints/_hak/prc_add_sb/zep_tatami002.utp new file mode 100644 index 0000000..513f529 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tatami002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tatami003.utp b/cep_blueprints/_hak/prc_add_sb/zep_tatami003.utp new file mode 100644 index 0000000..11db5c5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tatami003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tblcltc_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_tblcltc_001.utp new file mode 100644 index 0000000..17b3113 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tblcltc_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tblcltc_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_tblcltc_002.utp new file mode 100644 index 0000000..d5c296d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tblcltc_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tc_stb_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_tc_stb_001.utp new file mode 100644 index 0000000..e78585b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tc_stb_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_te_prs_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_te_prs_001.utp new file mode 100644 index 0000000..478e486 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_te_prs_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_te_prs_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_te_prs_002.utp new file mode 100644 index 0000000..7240db2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_te_prs_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_telescope.utp b/cep_blueprints/_hak/prc_add_sb/zep_telescope.utp new file mode 100644 index 0000000..47b25eb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_telescope.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent001.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent001.utp new file mode 100644 index 0000000..00c6202 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent002.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent002.utp new file mode 100644 index 0000000..f84fe68 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent003.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent003.utp new file mode 100644 index 0000000..4c53c13 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent004.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent004.utp new file mode 100644 index 0000000..d2dd094 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent005.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent005.utp new file mode 100644 index 0000000..c0c990a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent006.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent006.utp new file mode 100644 index 0000000..4de6c15 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent007.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent007.utp new file mode 100644 index 0000000..2042691 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent009.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent009.utp new file mode 100644 index 0000000..69b6a3f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent01.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent01.utp new file mode 100644 index 0000000..08bde19 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent010.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent010.utp new file mode 100644 index 0000000..7ed16bd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent011.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent011.utp new file mode 100644 index 0000000..1cd4be6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent012.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent012.utp new file mode 100644 index 0000000..2d609bf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent013.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent013.utp new file mode 100644 index 0000000..ca6fbe7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent014.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent014.utp new file mode 100644 index 0000000..c980ebc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent015.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent015.utp new file mode 100644 index 0000000..984de2e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent016.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent016.utp new file mode 100644 index 0000000..df5b153 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent017.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent017.utp new file mode 100644 index 0000000..c8e8ff6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent018.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent018.utp new file mode 100644 index 0000000..fdf5ea5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent018.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent019.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent019.utp new file mode 100644 index 0000000..868ae2d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent019.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent02.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent02.utp new file mode 100644 index 0000000..201c44f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent020.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent020.utp new file mode 100644 index 0000000..093381b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent020.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tent03.utp b/cep_blueprints/_hak/prc_add_sb/zep_tent03.utp new file mode 100644 index 0000000..65b632a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tent03.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_terradon1.utc b/cep_blueprints/_hak/prc_add_sb/zep_terradon1.utc new file mode 100644 index 0000000..f88998f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_terradon1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_terradon2.utc b/cep_blueprints/_hak/prc_add_sb/zep_terradon2.utc new file mode 100644 index 0000000..4c1b388 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_terradon2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tetsubo.uti b/cep_blueprints/_hak/prc_add_sb/zep_tetsubo.uti new file mode 100644 index 0000000..21bf189 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tetsubo.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_thayvian.uti b/cep_blueprints/_hak/prc_add_sb/zep_thayvian.uti new file mode 100644 index 0000000..2eb80dc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_thayvian.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_thornwall.utp b/cep_blueprints/_hak/prc_add_sb/zep_thornwall.utp new file mode 100644 index 0000000..c690617 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_thornwall.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_thorny.utc b/cep_blueprints/_hak/prc_add_sb/zep_thorny.utc new file mode 100644 index 0000000..7442b0a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_thorny.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_thornyrider.utc b/cep_blueprints/_hak/prc_add_sb/zep_thornyrider.utc new file mode 100644 index 0000000..147d9ca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_thornyrider.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_thornyridert.utc b/cep_blueprints/_hak/prc_add_sb/zep_thornyridert.utc new file mode 100644 index 0000000..1d912b9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_thornyridert.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_thornyriderv.utc b/cep_blueprints/_hak/prc_add_sb/zep_thornyriderv.utc new file mode 100644 index 0000000..ebf2839 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_thornyriderv.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_thrnskl_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_thrnskl_001.utp new file mode 100644 index 0000000..a4ec47d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_thrnskl_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throne001.utp b/cep_blueprints/_hak/prc_add_sb/zep_throne001.utp new file mode 100644 index 0000000..e327de3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throne001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throne002.utp b/cep_blueprints/_hak/prc_add_sb/zep_throne002.utp new file mode 100644 index 0000000..f31ab90 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throne002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug001.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug001.utp new file mode 100644 index 0000000..8b8bc17 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug002.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug002.utp new file mode 100644 index 0000000..b2b3355 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug003.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug003.utp new file mode 100644 index 0000000..ee3fe4b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug004.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug004.utp new file mode 100644 index 0000000..477320d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug005.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug005.utp new file mode 100644 index 0000000..4e08425 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug006.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug006.utp new file mode 100644 index 0000000..1a6c70f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug007.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug007.utp new file mode 100644 index 0000000..a758adb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug008.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug008.utp new file mode 100644 index 0000000..f35cb1a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug009.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug009.utp new file mode 100644 index 0000000..fd80598 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug010.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug010.utp new file mode 100644 index 0000000..f2c2c5f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug011.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug011.utp new file mode 100644 index 0000000..a0441e4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug012.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug012.utp new file mode 100644 index 0000000..4f7d18d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug013.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug013.utp new file mode 100644 index 0000000..5daf5d1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug014.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug014.utp new file mode 100644 index 0000000..835068f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug015.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug015.utp new file mode 100644 index 0000000..9174bd4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug016.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug016.utp new file mode 100644 index 0000000..8ad84aa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug017.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug017.utp new file mode 100644 index 0000000..2b5fd3e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug018.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug018.utp new file mode 100644 index 0000000..0d06c5c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug018.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug019.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug019.utp new file mode 100644 index 0000000..4693512 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug019.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug020.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug020.utp new file mode 100644 index 0000000..5919c98 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug020.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug021.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug021.utp new file mode 100644 index 0000000..0c76725 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug021.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug022.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug022.utp new file mode 100644 index 0000000..e4be3ad Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug022.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug023.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug023.utp new file mode 100644 index 0000000..9f0408b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug023.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug024.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug024.utp new file mode 100644 index 0000000..bed0cbf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug024.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug025.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug025.utp new file mode 100644 index 0000000..76528ee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug025.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug026.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug026.utp new file mode 100644 index 0000000..dfafedc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug026.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug027.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug027.utp new file mode 100644 index 0000000..431f8a3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug027.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug028.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug028.utp new file mode 100644 index 0000000..b49b1df Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug028.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug029.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug029.utp new file mode 100644 index 0000000..a5c50e0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug029.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug030.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug030.utp new file mode 100644 index 0000000..3872770 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug030.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug031.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug031.utp new file mode 100644 index 0000000..ca98ba7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug031.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug032.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug032.utp new file mode 100644 index 0000000..f68849b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug032.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug033.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug033.utp new file mode 100644 index 0000000..32a56bf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug033.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug034.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug034.utp new file mode 100644 index 0000000..48ae6ef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug034.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug035.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug035.utp new file mode 100644 index 0000000..c2a51c1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug035.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug036.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug036.utp new file mode 100644 index 0000000..53be85c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug036.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug037.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug037.utp new file mode 100644 index 0000000..e26a292 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug037.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug038.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug038.utp new file mode 100644 index 0000000..931da14 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug038.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug039.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug039.utp new file mode 100644 index 0000000..790ef4e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug039.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug040.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug040.utp new file mode 100644 index 0000000..bbbaa8d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug040.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug041.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug041.utp new file mode 100644 index 0000000..5b72761 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug041.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug042.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug042.utp new file mode 100644 index 0000000..99de20d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug042.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug043.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug043.utp new file mode 100644 index 0000000..68e8428 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug043.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug044.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug044.utp new file mode 100644 index 0000000..d6ef240 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug044.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug045.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug045.utp new file mode 100644 index 0000000..e9872e3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug045.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug046.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug046.utp new file mode 100644 index 0000000..2d0f4f4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug046.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug047.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug047.utp new file mode 100644 index 0000000..7597576 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug047.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug048.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug048.utp new file mode 100644 index 0000000..c087b27 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug048.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug049.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug049.utp new file mode 100644 index 0000000..94851b8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug049.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug050.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug050.utp new file mode 100644 index 0000000..3fab55b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug050.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug051.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug051.utp new file mode 100644 index 0000000..8b1e745 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug051.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug052.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug052.utp new file mode 100644 index 0000000..befee58 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug052.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug053.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug053.utp new file mode 100644 index 0000000..e98a549 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug053.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug054.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug054.utp new file mode 100644 index 0000000..c6a55a6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug054.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug055.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug055.utp new file mode 100644 index 0000000..b4406be Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug055.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug056.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug056.utp new file mode 100644 index 0000000..0237712 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug056.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug057.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug057.utp new file mode 100644 index 0000000..971491c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug057.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_throwrug058.utp b/cep_blueprints/_hak/prc_add_sb/zep_throwrug058.utp new file mode 100644 index 0000000..067a8cd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_throwrug058.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tiefling3.utc b/cep_blueprints/_hak/prc_add_sb/zep_tiefling3.utc new file mode 100644 index 0000000..0558e75 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tiefling3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tieflingchn.uti b/cep_blueprints/_hak/prc_add_sb/zep_tieflingchn.uti new file mode 100644 index 0000000..19eb943 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tieflingchn.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tieflingf1.utc b/cep_blueprints/_hak/prc_add_sb/zep_tieflingf1.utc new file mode 100644 index 0000000..391c1ee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tieflingf1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tieflingf2.utc b/cep_blueprints/_hak/prc_add_sb/zep_tieflingf2.utc new file mode 100644 index 0000000..04a9b4c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tieflingf2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tieflingm4.utc b/cep_blueprints/_hak/prc_add_sb/zep_tieflingm4.utc new file mode 100644 index 0000000..499020b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tieflingm4.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tigerrug.utp b/cep_blueprints/_hak/prc_add_sb/zep_tigerrug.utp new file mode 100644 index 0000000..e5211ca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tigerrug.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tigerwhite.utc b/cep_blueprints/_hak/prc_add_sb/zep_tigerwhite.utc new file mode 100644 index 0000000..58c3753 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tigerwhite.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tint_spawn.ncs b/cep_blueprints/_hak/prc_add_sb/zep_tint_spawn.ncs new file mode 100644 index 0000000..89faa40 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tint_spawn.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tint_spawn.nss b/cep_blueprints/_hak/prc_add_sb/zep_tint_spawn.nss new file mode 100644 index 0000000..eca174d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_tint_spawn.nss @@ -0,0 +1,15 @@ +void main () { + object oSelf = OBJECT_SELF; + + int nApp = GetLocalInt(oSelf, "CEP_TINT_APPEARANCE"); + if (nApp == 0) + nApp = 843; + + string sScript = GetLocalString(oSelf, "CEP_TINT_SPAWNSCRIPT"); + if (sScript == "") + sScript = "nw_c2_default9"; + + SetCreatureAppearanceType(oSelf, nApp); + + ExecuteScript(sScript, oSelf); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tintonspawn.ncs b/cep_blueprints/_hak/prc_add_sb/zep_tintonspawn.ncs new file mode 100644 index 0000000..1199b20 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tintonspawn.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tintonspawn.nss b/cep_blueprints/_hak/prc_add_sb/zep_tintonspawn.nss new file mode 100644 index 0000000..be2fcdd --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_tintonspawn.nss @@ -0,0 +1,346 @@ +//::////////////////////////////////////////////////// +//:: NW_C2_DEFAULT9 +/* + * Default OnSpawn handler with XP1 revisions. + * This corresponds to and produces the same results + * as the default OnSpawn handler in the OC. + * + * This can be used to customize creature behavior in three main ways: + * + * - Uncomment the existing lines of code to activate certain + * common desired behaviors from the moment when the creature + * spawns in. + * + * - Uncomment the user-defined event signals to cause the + * creature to fire events that you can then handle with + * a custom OnUserDefined event handler script. + * + * - Add new code _at the end_ to alter the initial + * behavior in a more customized way. + */ +//::////////////////////////////////////////////////// +//:: Copyright (c) 2002 Floodgate Entertainment +//:: Created By: Naomi Novik +//:: Created On: 12/11/2002 +//::////////////////////////////////////////////////// +//:: Updated 2003-08-20 Georg Zoeller: Added check for variables to active spawn in conditions without changing the spawnscript + + +#include "x0_i0_anims" +// #include "x0_i0_walkway" - in x0_i0_anims +#include "x0_i0_treasure" + +#include "x2_inc_switches" + +void main() +{ + // ***** Spawn-In Conditions ***** // + + // * REMOVE COMMENTS (// ) before the "Set..." functions to activate + // * them. Do NOT touch lines commented out with // *, those are + // * real comments for information. + + // * This causes the creature to say a one-line greeting in their + // * conversation file upon perceiving the player. Put [NW_D2_GenCheck] + // * in the "Text Seen When" field of the greeting in the conversation + // * file. Don't attach any player responses. + // * + // SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + + // * Same as above, but for hostile creatures to make them say + // * a line before attacking. + // * + // SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + + // * This NPC will attack when its allies call for help + // * + // SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + + // * If the NPC has the Hide skill they will go into stealth mode + // * while doing WalkWayPoints(). + // * + // SetSpawnInCondition(NW_FLAG_STEALTH); + + //-------------------------------------------------------------------------- + // Enable stealth mode by setting a variable on the creature + // Great for ambushes + // See x2_inc_switches for more information about this + //-------------------------------------------------------------------------- + if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_STEALTH) == TRUE) + { + SetSpawnInCondition(NW_FLAG_STEALTH); + } + // * Same, but for Search mode + // * + // SetSpawnInCondition(NW_FLAG_SEARCH); + + //-------------------------------------------------------------------------- + // Make creature enter search mode after spawning by setting a variable + // Great for guards, etc + // See x2_inc_switches for more information about this + //-------------------------------------------------------------------------- + if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_SEARCH) == TRUE) + { + SetSpawnInCondition(NW_FLAG_SEARCH); + } + // * This will set the NPC to give a warning to non-enemies + // * before attacking. + // * NN -- no clue what this really does yet + // * + // SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + + // * Separate the NPC's waypoints into day & night. + // * See comment on WalkWayPoints() for use. + // * + // SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING); + + // * If this is set, the NPC will appear using the "EffectAppear" + // * animation instead of fading in, *IF* SetListeningPatterns() + // * is called below. + // * + //SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION); + + // * This will cause an NPC to use common animations it possesses, + // * and use social ones to any other nearby friendly NPCs. + // * + // SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS); + + //-------------------------------------------------------------------------- + // Enable immobile ambient animations by setting a variable + // See x2_inc_switches for more information about this + //-------------------------------------------------------------------------- + if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_AMBIENT_IMMOBILE) == TRUE) + { + SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS); + } + // * Same as above, except NPC will wander randomly around the + // * area. + // * + // SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS); + + + //-------------------------------------------------------------------------- + // Enable mobile ambient animations by setting a variable + // See x2_inc_switches for more information about this + //-------------------------------------------------------------------------- + if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_AMBIENT) == TRUE) + { + SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS); + } + // **** Animation Conditions **** // + // * These are extra conditions you can put on creatures with ambient + // * animations. + + // * Civilized creatures interact with placeables in + // * their area that have the tag "NW_INTERACTIVE" + // * and "talk" to each other. + // * + // * Humanoid races are civilized by default, so only + // * set this flag for monster races that you want to + // * behave the same way. + // SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED); + + // * If this flag is set, this creature will constantly + // * be acting. Otherwise, creatures will only start + // * performing their ambient animations when they + // * first perceive a player, and they will stop when + // * the player moves away. + // SetAnimationCondition(NW_ANIM_FLAG_CONSTANT); + + // * Civilized creatures with this flag set will + // * randomly use a few voicechats. It's a good + // * idea to avoid putting this on multiple + // * creatures using the same voiceset. + // SetAnimationCondition(NW_ANIM_FLAG_CHATTER); + + // * Creatures with _immobile_ ambient animations + // * can have this flag set to make them mobile in a + // * close range. They will never leave their immediate + // * area, but will move around in it, frequently + // * returning to their starting point. + // * + // * Note that creatures spawned inside interior areas + // * that contain a waypoint with one of the tags + // * "NW_HOME", "NW_TAVERN", "NW_SHOP" will automatically + // * have this condition set. + // SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE); + + + // **** Special Combat Tactics *****// + // * These are special flags that can be set on creatures to + // * make them follow certain specialized combat tactics. + // * NOTE: ONLY ONE OF THESE SHOULD BE SET ON A SINGLE CREATURE. + + // * Ranged attacker + // * Will attempt to stay at ranged distance from their + // * target. + // SetCombatCondition(X0_COMBAT_FLAG_RANGED); + + // * Defensive attacker + // * Will use defensive combat feats and parry + // SetCombatCondition(X0_COMBAT_FLAG_DEFENSIVE); + + // * Ambusher + // * Will go stealthy/invisible and attack, then + // * run away and try to go stealthy again before + // * attacking anew. + // SetCombatCondition(X0_COMBAT_FLAG_AMBUSHER); + + // * Cowardly + // * Cowardly creatures will attempt to flee + // * attackers. + // SetCombatCondition(X0_COMBAT_FLAG_COWARDLY); + + + // **** Escape Commands ***** // + // * NOTE: ONLY ONE OF THE FOLLOWING SHOULD EVER BE SET AT ONE TIME. + // * NOTE2: Not clear that these actually work. -- NN + + // * Flee to a way point and return a short time later. + // * + // SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); + + // * Flee to a way point and do not return. + // * + // SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); + + // * Teleport to safety and do not return. + // * + // SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); + + // * Teleport to safety and return a short time later. + // * + // SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); + + + + // ***** CUSTOM USER DEFINED EVENTS ***** / + + + /* + If you uncomment any of these conditions, the creature will fire + a specific user-defined event number on each event. That will then + allow you to write custom code in the "OnUserDefinedEvent" handler + script to go on top of the default NPC behaviors for that event. + + Example: I want to add some custom behavior to my NPC when they + are damaged. I uncomment the "NW_FLAG_DAMAGED_EVENT", then create + a new user-defined script that has something like this in it: + + if (GetUserDefinedEventNumber() == 1006) { + // Custom code for my NPC to execute when it's damaged + } + + These user-defined events are in the range 1001-1007. + */ + + // * Fire User Defined Event 1001 in the OnHeartbeat + // * + // SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); + + // * Fire User Defined Event 1002 + // * + // SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); + + // * Fire User Defined Event 1005 + // * + // SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); + + // * Fire User Defined Event 1006 + // * + // SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); + + // * Fire User Defined Event 1008 + // * + // SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); + + // * Fire User Defined Event 1003 + // * + // SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); + + // * Fire User Defined Event 1004 + // * + // SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); + + + + // ***** DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) ***** // + + // * Goes through and sets up which shouts the NPC will listen to. + // * + SetListeningPatterns(); + + // * Walk among a set of waypoints. + // * 1. Find waypoints with the tag "WP_" + NPC TAG + "_##" and walk + // * among them in order. + // * 2. If the tag of the Way Point is "POST_" + NPC TAG, stay there + // * and return to it after combat. + // + // * Optional Parameters: + // * void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // + // * If "NW_FLAG_DAY_NIGHT_POSTING" is set above, you can also + // * create waypoints with the tags "WN_" + NPC Tag + "_##" + // * and those will be walked at night. (The standard waypoints + // * will be walked during the day.) + // * The night "posting" waypoint tag is simply "NIGHT_" + NPC tag. + WalkWayPoints(); + + //* Create a small amount of treasure on the creature + if ((GetLocalInt(GetModule(), "X2_L_NOTREASURE") == FALSE) && + (GetLocalInt(OBJECT_SELF, "X2_L_NOTREASURE") == FALSE) ) + { + CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF); + } + + + // ***** ADD ANY SPECIAL ON-SPAWN CODE HERE ***** // + + // * If Incorporeal, apply changes + if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_IS_INCORPOREAL) == TRUE) + { + effect eConceal = EffectConcealment(50, MISS_CHANCE_TYPE_NORMAL); + eConceal = ExtraordinaryEffect(eConceal); + effect eGhost = EffectCutsceneGhost(); + eGhost = ExtraordinaryEffect(eGhost); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eConceal, OBJECT_SELF); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eGhost, OBJECT_SELF); + + } + + // * Give the create a random name. + // * If you create a script named x3_name_gen in your module, you can + // * set the value of the variable X3_S_RANDOM_NAME on OBJECT_SELF inside + // * the script to override the creature's default name. + if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_RANDOMIZE_NAME) == TRUE) + { + ExecuteScript("x3_name_gen",OBJECT_SELF); + string sName = GetLocalString(OBJECT_SELF,"X3_S_RANDOM_NAME"); + if ( sName == "" ) + { + sName = RandomName(); + } + SetName(OBJECT_SELF,sName); + } + +//::////////////////////////////////////////////// +//:: CEP Tintable Creature OnSpawn Script +//:: Created By: 420 +//:: Created On: January 21, 2010 +//::////////////////////////////////////////////// +/* +This script will set color channels for a creature when it spawns allowing +builders to make tinted creature blueprints in the toolset. + +See the "CEP Sample Tinted Creature" blueprint under Tutorial in the Custom +creature palette for an example. Step by step instructions are located in the +blueprint's Comments tab. +*/ +int nApp = GetAppearanceType(OBJECT_SELF); +SetCreatureAppearanceType(OBJECT_SELF, 0); +SetColor(OBJECT_SELF, COLOR_CHANNEL_HAIR, GetLocalInt(OBJECT_SELF, "Hair")); +SetColor(OBJECT_SELF, COLOR_CHANNEL_SKIN, GetLocalInt(OBJECT_SELF, "Skin")); +SetColor(OBJECT_SELF, COLOR_CHANNEL_TATTOO_1, GetLocalInt(OBJECT_SELF, "Tattoo1")); +SetColor(OBJECT_SELF, COLOR_CHANNEL_TATTOO_2, GetLocalInt(OBJECT_SELF, "Tattoo2")); +DelayCommand(1.0, SetCreatureAppearanceType(OBJECT_SELF, nApp)); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tinydesertvi.utc b/cep_blueprints/_hak/prc_add_sb/zep_tinydesertvi.utc new file mode 100644 index 0000000..87a00a5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tinydesertvi.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tinyforestvi.utc b/cep_blueprints/_hak/prc_add_sb/zep_tinyforestvi.utc new file mode 100644 index 0000000..0dbf30c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tinyforestvi.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tinyjunglevi.utc b/cep_blueprints/_hak/prc_add_sb/zep_tinyjunglevi.utc new file mode 100644 index 0000000..785d18a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tinyjunglevi.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tinyswampvi.utc b/cep_blueprints/_hak/prc_add_sb/zep_tinyswampvi.utc new file mode 100644 index 0000000..d514cc7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tinyswampvi.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tl_log_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_tl_log_001.utp new file mode 100644 index 0000000..1bda9b0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tl_log_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tl_log_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_tl_log_002.utp new file mode 100644 index 0000000..9481924 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tl_log_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tl_log_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_tl_log_003.utp new file mode 100644 index 0000000..2ad1978 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tl_log_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tl_plk_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_tl_plk_001.utp new file mode 100644 index 0000000..c39371c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tl_plk_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tl_plk_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_tl_plk_002.utp new file mode 100644 index 0000000..43a2002 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tl_plk_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tl_plk_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_tl_plk_003.utp new file mode 100644 index 0000000..8e3a37e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tl_plk_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tno_cliff_1.utp b/cep_blueprints/_hak/prc_add_sb/zep_tno_cliff_1.utp new file mode 100644 index 0000000..ce5b69c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tno_cliff_1.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tno_cliff_2.utp b/cep_blueprints/_hak/prc_add_sb/zep_tno_cliff_2.utp new file mode 100644 index 0000000..101bbe9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tno_cliff_2.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tno_rockldg1.utp b/cep_blueprints/_hak/prc_add_sb/zep_tno_rockldg1.utp new file mode 100644 index 0000000..7c3c00e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tno_rockldg1.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tno_rockldg2.utp b/cep_blueprints/_hak/prc_add_sb/zep_tno_rockldg2.utp new file mode 100644 index 0000000..bd50b30 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tno_rockldg2.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tno_rowboat.utp b/cep_blueprints/_hak/prc_add_sb/zep_tno_rowboat.utp new file mode 100644 index 0000000..70ed648 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tno_rowboat.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_toilet001.utp b/cep_blueprints/_hak/prc_add_sb/zep_toilet001.utp new file mode 100644 index 0000000..aad32a3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_toilet001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tokri001.utp b/cep_blueprints/_hak/prc_add_sb/zep_tokri001.utp new file mode 100644 index 0000000..9edc672 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tokri001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tokri002.utp b/cep_blueprints/_hak/prc_add_sb/zep_tokri002.utp new file mode 100644 index 0000000..6a9b212 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tokri002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tokri003.utp b/cep_blueprints/_hak/prc_add_sb/zep_tokri003.utp new file mode 100644 index 0000000..8561ea3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tokri003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tokri004.utp b/cep_blueprints/_hak/prc_add_sb/zep_tokri004.utp new file mode 100644 index 0000000..94c6d4c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tokri004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tokri005.utp b/cep_blueprints/_hak/prc_add_sb/zep_tokri005.utp new file mode 100644 index 0000000..72a9e59 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tokri005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tokri006.utp b/cep_blueprints/_hak/prc_add_sb/zep_tokri006.utp new file mode 100644 index 0000000..febcf4c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tokri006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tokri007.utp b/cep_blueprints/_hak/prc_add_sb/zep_tokri007.utp new file mode 100644 index 0000000..61ed2fa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tokri007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tokri008.utp b/cep_blueprints/_hak/prc_add_sb/zep_tokri008.utp new file mode 100644 index 0000000..8cfe8f6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tokri008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tokri009.utp b/cep_blueprints/_hak/prc_add_sb/zep_tokri009.utp new file mode 100644 index 0000000..e3e771c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tokri009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tokri010.utp b/cep_blueprints/_hak/prc_add_sb/zep_tokri010.utp new file mode 100644 index 0000000..6785642 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tokri010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tokri011.utp b/cep_blueprints/_hak/prc_add_sb/zep_tokri011.utp new file mode 100644 index 0000000..a42b9a5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tokri011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tokri012.utp b/cep_blueprints/_hak/prc_add_sb/zep_tokri012.utp new file mode 100644 index 0000000..786fdd3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tokri012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tokri013.utp b/cep_blueprints/_hak/prc_add_sb/zep_tokri013.utp new file mode 100644 index 0000000..aabcf7d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tokri013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tokri014.utp b/cep_blueprints/_hak/prc_add_sb/zep_tokri014.utp new file mode 100644 index 0000000..e8442fa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tokri014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tokri015.utp b/cep_blueprints/_hak/prc_add_sb/zep_tokri015.utp new file mode 100644 index 0000000..7573767 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tokri015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tokri016.utp b/cep_blueprints/_hak/prc_add_sb/zep_tokri016.utp new file mode 100644 index 0000000..d0d3541 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tokri016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tokri017.utp b/cep_blueprints/_hak/prc_add_sb/zep_tokri017.utp new file mode 100644 index 0000000..6bc63b5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tokri017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tokri018.utp b/cep_blueprints/_hak/prc_add_sb/zep_tokri018.utp new file mode 100644 index 0000000..5fc6802 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tokri018.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tokri019.utp b/cep_blueprints/_hak/prc_add_sb/zep_tokri019.utp new file mode 100644 index 0000000..ff2a840 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tokri019.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tomeskl_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_tomeskl_001.utp new file mode 100644 index 0000000..58d62c3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tomeskl_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tomest_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_tomest_001.utp new file mode 100644 index 0000000..a20cad4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tomest_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tonfa.uti b/cep_blueprints/_hak/prc_add_sb/zep_tonfa.uti new file mode 100644 index 0000000..29c1872 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tonfa.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tonnelon.utp b/cep_blueprints/_hak/prc_add_sb/zep_tonnelon.utp new file mode 100644 index 0000000..c8df2c1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tonnelon.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_torch.ncs b/cep_blueprints/_hak/prc_add_sb/zep_torch.ncs new file mode 100644 index 0000000..81007bf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_torch.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_torch.nss b/cep_blueprints/_hak/prc_add_sb/zep_torch.nss new file mode 100644 index 0000000..8140c26 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_torch.nss @@ -0,0 +1,84 @@ +//:://///////////////////////////////////////////// +//:: ZEP_TORCH.nss +//:: Copyright (c) 2001 Bioware Corp. +//:: Modified by Dan Heidel 1/21/04 for CEP +//::////////////////////////////////////////////// +/* + Turns the placeable object's animation on/off + for the activation of torches, candles and othe light sources. + It works by deleting the calling object and replacing it with its + lit/unlit counterpart. Although this function ignores the value of + CEP_L_LIGHTCYCLE, if that localint is set to 1, the placeable will + revert back to its normal lit/unlit day/night cycle state on the + next heartbeat. To properly turn off a cycling light-source placeable, + CEP_L_LIGHTCYCLE must be set to 0. + + Works as zep_onoff except that no sounds are called and a + lighting effect is called on the placeable instead. The + light type is stored in a local int CEP_L_LIGHT. CEP_L_LIGHT is + defined in zep_torchspawn from a table of constants - eg: + VFX_DUR_LIGHT_YELLOW_20. CEP_L_LIGHTCONST is a local string defined + on the placeable which is used to set CEP_L_LIGHTCONST to the proper value. + Place the name of the constant in this local string so that + zep_torchspawn to operate correctly. + +*/ +//::////////////////////////////////////////////// +//:: Created By: Brent +//:: Created On: January 2002 +//::////////////////////////////////////////////// + +//---------------------------------------------------------------------------- +// 04/19/2010 Malishara: added code to play nice with DMTS tools +//---------------------------------------------------------------------------- + +#include "zep_inc_main" +#include "dmts_common_inc" + + +void main() +{ + location lLoc = GetLocation(OBJECT_SELF); + string sResRef = GetResRef(OBJECT_SELF); + int nAmIOn = GetLocalInt(OBJECT_SELF, "CEP_L_AMION"); + int nLightCycle = GetLocalInt(OBJECT_SELF, "CEP_L_LIGHTCYCLE"); + int nInitialized = GetLocalInt(OBJECT_SELF, "CEP_L_LIGHTINITIALIZED"); + int nLightDiurnal = GetIsNight(); + string sLightConst = GetLocalString(OBJECT_SELF, "CEP_L_LIGHTCONST"); + string sLightSwap = GetLocalString(OBJECT_SELF, "CEP_L_LIGHTSWAP"); + int nLight = ColorInit(sLightConst); + + if(nAmIOn == 1){nAmIOn = 0;} + else {nAmIOn = 1;} + + object oNew = CreateObject(OBJECT_TYPE_PLACEABLE, sLightSwap, lLoc); + SetLocalInt(oNew, "CEP_L_AMION", nAmIOn); + SetLocalInt(oNew, "CEP_L_LIGHTCYCLE", nLightCycle); + SetLocalInt(oNew, "CEP_L_LIGHTINITIALIZED", nInitialized); + SetLocalInt(oNew, "CEP_L_LIGHTDIURNAL", nLightDiurnal); + SetLocalString(oNew, "CEP_L_LIGHTCONST", sLightConst); + SetLocalString(oNew, "CEP_L_LIGHTSWAP", sResRef); + + // Copy DMTS variables to new placeable + + string sVariables = SaveVariables(OBJECT_SELF); + RestoreVariables(oNew, sVariables); + + location lOriginal = GetLocalLocation(OBJECT_SELF, "DM_PAA_lOriginal"); + object oStageManager = GetLocalObject(OBJECT_SELF, "oStageManager"); + string sPropID_VarName = GetLocalString(OBJECT_SELF, "sPropID_VarName"); + + if (GetIsObjectValid(oStageManager)) + { SetLocalObject(oNew, "oStageManager", oStageManager); + SetLocalObject(oStageManager, sPropID_VarName, oNew); + } + + SetLocalLocation(oNew, "DM_PAA_lOriginal", lOriginal); + + if (nAmIOn == 1) + { + effect eLight = EffectVisualEffect(nLight); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLight, oNew); + } + DestroyObject(OBJECT_SELF, 0.0); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_torch001.utp b/cep_blueprints/_hak/prc_add_sb/zep_torch001.utp new file mode 100644 index 0000000..082d027 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_torch001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_torch002.utp b/cep_blueprints/_hak/prc_add_sb/zep_torch002.utp new file mode 100644 index 0000000..98ad2bb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_torch002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_torch2.ncs b/cep_blueprints/_hak/prc_add_sb/zep_torch2.ncs new file mode 100644 index 0000000..f93fedc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_torch2.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_torch2.nss b/cep_blueprints/_hak/prc_add_sb/zep_torch2.nss new file mode 100644 index 0000000..41a5d6d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_torch2.nss @@ -0,0 +1,64 @@ +//:://///////////////////////////////////////////// +//:: ZEP_TORCH.nss +//:: Copyright (c) 2001 Bioware Corp. +//:: Modified by Dan Heidel 1/21/04 for CEP +//::////////////////////////////////////////////// +/* + Turns the placeable object's animation on/off + for the activation of torches, candles and othe light sources. + It works by deleting the calling object and replacing it with its + lit/unlit counterpart. Although this function ignores the value of + CEP_L_LIGHTCYCLE, if that localint is set to 1, the placeable will + revert back to its normal lit/unlit day/night cycle state on the + next heartbeat. To properly turn off a cycling light-source placeable, + CEP_L_LIGHTCYCLE must be set to 0. + + Works as zep_onoff except that no sounds are called and a + lighting effect is called on the placeable instead. The + light type is stored in a local int CEP_L_LIGHT. CEP_L_LIGHT is + defined in zep_torchspawn from a table of constants - eg: + VFX_DUR_LIGHT_YELLOW_20. CEP_L_LIGHTCONST is a local string defined + on the placeable which is used to set CEP_L_LIGHTCONST to the proper value. + Place the name of the constant in this local string so that + zep_torchspawn to operate correctly. + +*/ +//::////////////////////////////////////////////// +//:: Created By: Brent +//:: Created On: January 2002 +//::////////////////////////////////////////////// + +#include "zep_inc_main" + + +void main() +{ + location lLoc = GetLocation(OBJECT_SELF); + string sResRef = GetResRef(OBJECT_SELF); + int nAmIOn = GetLocalInt(OBJECT_SELF, "CEP_L_AMION"); + int nLightCycle = GetLocalInt(OBJECT_SELF, "CEP_L_LIGHTCYCLE"); + int nInitialized = GetLocalInt(OBJECT_SELF, "CEP_L_LIGHTINITIALIZED"); + int nLightDiurnal = GetIsNight(); + string sLightConst = GetLocalString(OBJECT_SELF, "CEP_L_LIGHTCONST"); + string sLightSwap = GetLocalString(OBJECT_SELF, "CEP_L_LIGHTSWAP"); + int nLight = ColorInit(sLightConst); + + if(nAmIOn == 1){nAmIOn = 0;} + else {nAmIOn = 1;} + + object oNew = CreateObject(OBJECT_TYPE_PLACEABLE, sLightSwap, lLoc); + SetLocalInt(oNew, "CEP_L_AMION", nAmIOn); + SetLocalInt(oNew, "CEP_L_LIGHTCYCLE", nLightCycle); + SetLocalInt(oNew, "CEP_L_LIGHTINITIALIZED", nInitialized); + SetLocalInt(oNew, "CEP_L_LIGHTDIURNAL", nLightDiurnal); + SetLocalString(oNew, "CEP_L_LIGHTCONST", sLightConst); + SetLocalString(oNew, "CEP_L_LIGHTSWAP", sResRef); + + if (nAmIOn == 1) + { + effect eLight = EffectVisualEffect(nLight); + DelayCommand(0.2, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLight, oNew)); + } + DelayCommand(4.0 , RecomputeStaticLighting(GetArea(GetLastUsedBy()))); + DestroyObject(OBJECT_SELF, 0.0); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_torches_off.ncs b/cep_blueprints/_hak/prc_add_sb/zep_torches_off.ncs new file mode 100644 index 0000000..c1fa4f7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_torches_off.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_torches_off.nss b/cep_blueprints/_hak/prc_add_sb/zep_torches_off.nss new file mode 100644 index 0000000..cab87bf --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_torches_off.nss @@ -0,0 +1,34 @@ +//:://///////////////////////////////////////////// +//:: ZEP_TORCHES_OFF.nss +//:: Copyright (c) 2001 Bioware Corp. +//:: Modified by Dan Heidel 2/06/04 for CEP +//::////////////////////////////////////////////// +/* + This is a quick function I threw together that will turn all of the light-emitter + placeables in an area off. There are probably more elegant ways to do this but + I was tired. ;) + The whole thing with getting two objects and checking them against each other + came from an odd bug when the zep_torch routine used to call a delay before + destroying the old placeable - this would result in a game crash when this script + was called. I've since removed that delay but left the error-checking routine + in just in case. + +*/ +void main() +{ +object oArea = GetArea(GetFirstPC()); +object oFoo = GetFirstObjectInArea(oArea); +object oFoo2; +int nFoo = 1; +while (oFoo != OBJECT_INVALID){ + nFoo++; + if(oFoo == oFoo2) oFoo = GetNextObjectInArea(oArea); + if(GetLocalInt(oFoo, "CEP_L_LIGHTINITIALIZED") == 1) { + if(GetLocalInt(oFoo, "CEP_L_AMION") == 1)ExecuteScript("zep_torch", oFoo); + SendMessageToPC(GetFirstPC(), GetTag(oFoo)); + } + oFoo2 = oFoo; + oFoo = GetNextObjectInArea(oArea); + if(nFoo>200) return; +} +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_torches_on.ncs b/cep_blueprints/_hak/prc_add_sb/zep_torches_on.ncs new file mode 100644 index 0000000..91b9e2e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_torches_on.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_torches_on.nss b/cep_blueprints/_hak/prc_add_sb/zep_torches_on.nss new file mode 100644 index 0000000..58b5fda --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_torches_on.nss @@ -0,0 +1,34 @@ +//:://///////////////////////////////////////////// +//:: ZEP_TORCHES_ON.nss +//:: Copyright (c) 2001 Bioware Corp. +//:: Modified by Dan Heidel 2/06/04 for CEP +//::////////////////////////////////////////////// +/* + This is a quick function I threw together that will turn all of the light-emitter + placeables in an area on. There are probably more elegant ways to do this but + I was tired. ;) + The whole thing with getting two objects and checking them against each other + came from an odd bug when the zep_torch routine used to call a delay before + destroying the old placeable - this would result in a game crash when this script + was called. I've since removed that delay but left the error-checking routine + in just in case. + +*/ +void main() +{ +object oArea = GetArea(GetFirstPC()); +object oFoo = GetFirstObjectInArea(oArea); +object oFoo2; +int nFoo = 1; +while (oFoo != OBJECT_INVALID){ + nFoo++; + if(oFoo == oFoo2) oFoo = GetNextObjectInArea(oArea); + if(GetLocalInt(oFoo, "CEP_L_LIGHTINITIALIZED") == 1) { + if(GetLocalInt(oFoo, "CEP_L_AMION") == 0)ExecuteScript("zep_torch", oFoo); + SendMessageToPC(GetFirstPC(), GetTag(oFoo)); + } + oFoo2 = oFoo; + oFoo = GetNextObjectInArea(oArea); + if(nFoo>200) return; +} +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_torchspawn.ncs b/cep_blueprints/_hak/prc_add_sb/zep_torchspawn.ncs new file mode 100644 index 0000000..e0f8388 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_torchspawn.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_torchspawn.nss b/cep_blueprints/_hak/prc_add_sb/zep_torchspawn.nss new file mode 100644 index 0000000..6c210a2 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_torchspawn.nss @@ -0,0 +1,182 @@ +//:://///////////////////////////////////////////// +//:: ZEP_TORCHSPAWN.nss +//:: Created by by Dan Heidel 1/21/04 for CEP +//::////////////////////////////////////////////// +/* + This function is called on heartbeat and designed to exert minimal + drag on the system except during module load. This function is used + to initialize light-emitting placeables. Since there is no OnSpawn + event handler for placeables, the OnHeartbeat handler is used instead. + As long as the total number of lighting placeables is kept to a reasonable + number, the CPU impact will be minimal. + + This is used to initialize a light-emitting placeable and to update certain + placeable behaviors if certain conditions are met. + + The following local variables are used on light-emitting placeables: + + CEP_L_AMION: this is a localint that holds the present on-off state of the + placeable. If the placeable is to be switched on or off, please use the + zep_torch or zep_torchupdate functions. DO NOT CHANGE THIS VARIABLE MANUALLY. + Doing so will cause the light-emitting placeable to stop functioning + properly if done improperly. + + CEP_L_LIGHTCYCLE: this is a localint that determines whether the light- + -emitting placeable will automatically switch itself on and off to match the + day/night cycle. If it is set to 1, the placeable will shut off during the + day. If set to 0, the placeable does not change state unless zep_torch or + zep_torchupdate are used to change it. + Also note that cycling placeables update on every heartbeat. This means + that if a cycling light-emitter is turned off at night, it will switch back + on on the next heartbeat. + + CEP_L_LIGHTCONST: this localstring holds the name of the lighting constant + used to put a colored light on a lit light-emitting placeable. For example, + if a torch is supposed to emit a 20 foot diameter yellow light, CEP_L_LIGHTCONST + should contain "YELLOW_20". The function ColorInit in the zep_inc_main + library converts this string into a number which can be used by the game + engine. + The following colors and light radii are available: + White, Yellow, Orange, Red, Green, Blue and Purple (note that Green actually + calls a GREY lighting effect which is green for some inscrutible reason) + 5, 10, 15, 20 are the available radii. Note that some light colors are + brighter than others. Consult the CEP Builder's guide for more information. + + Note: the ColorInit function only looks at the first two and last two + characters of the string so YELLOW_5 could be called by YE_5 and RED_20 + with RE20 but for readability, the user is encouraged to use the full names. + Note: changing this string only causes the lighting color to change when a + a cycling light-emitter switches states, a light-emitter is switched on or + off with zep_torch or when a zep_torchupdate is called on a light-emitter. + + CEP_L_LIGHTSWAP: this localstring holds the resref of its counterpart + light-emitter. For example, a lit wooden lantern's CEP_L_LIGHTSWAP + contains "owoodlantern001" and an unlit wood lantern's CEP_L_LIGHTSWAP + contains "woodlantern001". This variable provides a handle so that the + lit/unlit light-emitter placeable can be swapped for its counterpart + when the placeable "switches" on or off. NEVER CHANGE THIS VARIABLE. + + CEP_L_LIGHTINITIALIZED: this localint is 0 if the placeable hasn't been initialized + yet, 1 if it has. This localint is defined at runtime. NEVER CHANGE THIS VARIABLE. + + CEP_L_LIGHTDIURNAL: this localint holds the last checked value of GetIsNight() + for use by cycling torches. Defined at runtime. DO NOT CHANGE. + +************************************************** + + Due to various limitations in the Aurora NWN graphics engine, the switching + of light-emitting placeables is done by deleting the placeable and putting + it's lit/unlit counterpart at the same position. + + Use zep_torch on a light-emitting placeable to switch it on or off.It is best + to call zep_torch from another object or script since even if the torch is made + usable, it will be replaced with a non-usable version when the on/off switch occurs. + + If the color of a light-emitting placeable is changed and the change is to + be reflected in game, a zep_torchupdate must be used on the placeable. + + As provided, the light-emitting placeables provided in CEP should work with + little to no builder intervention. The local variables are all set. Simply + place a lit or unlit placeable and it will take care of itself. + + All light-emitting placeables in the Civilization Exterior/Lighting category + are day/night cycling by default, the rest are non-cycling. Change the value + of CEP_L_LIGHTCYCLE in the variables on your placed placeable if you wish to + change this. + + Likewise, the color and radius of the emitted light can be changed on placeables + placed down in the toolset. + +*/ + +//---------------------------------------------------------------------------- +// 04/19/2010 Malishara: added code to play nice with DMTS tools +//---------------------------------------------------------------------------- + +#include "zep_inc_main" +#include "dmts_common_inc" + + +void main() +{ + int nLightCycle = GetLocalInt(OBJECT_SELF, "CEP_L_LIGHTCYCLE"); + int nInitialized = GetLocalInt(OBJECT_SELF, "CEP_L_LIGHTINITIALIZED"); + //0 if the first time this function has run for this torch, 1 if it has run before + //used so that non-cycling placeables use less CPU time. + if (nInitialized == 1 & nLightCycle == 0) return; //if torch is non cycling and has been initialized, quit + + int nAmIOn = GetLocalInt(OBJECT_SELF, "CEP_L_AMION"); + string sLightConst = GetLocalString(OBJECT_SELF, "CEP_L_LIGHTCONST"); + string sLightSwap = GetLocalString(OBJECT_SELF, "CEP_L_LIGHTSWAP"); + int nLight = ColorInit(sLightConst); + + if (nInitialized == 0){ + SetLocalInt(OBJECT_SELF, "CEP_L_LIGHTINITIALIZED", 1); + SetLocalInt(OBJECT_SELF, "CEP_L_LIGHTDIURNAL", !GetIsNight()); + } //if the placeable wasn't marked as initialized, it is now. + + int nLightDiurnal = GetLocalInt(OBJECT_SELF, "CEP_L_LIGHTDIURNAL"); + SetLocalInt(OBJECT_SELF, "CEP_L_LIGHTDIURNAL", GetIsNight()); + //this gets the GetIsNight value from the last time zep_torchspawn fired + //it is used to check to see if the torch needs to change state for day/night cycle + + if(nLightCycle == 1){ //if this is a cycling placeable + if(GetIsNight() == nLightDiurnal) return; + //if day/night hasn't changed since last time, return. + + if((GetIsNight() == 0)&(nAmIOn == 0)) return; + if((GetIsNight() == 1)&(nAmIOn == 1)) return; + //if the on/off state matches what it should be, return. + + //otherwise, destroy the placeable and place its lit/unlit counterpart at the same location + if(nAmIOn == 1){nAmIOn = 0;} + else {nAmIOn = 1;} + + string sResRef = GetResRef(OBJECT_SELF); + location lLoc = GetLocation(OBJECT_SELF); + + object oNew = CreateObject(OBJECT_TYPE_PLACEABLE, sLightSwap, lLoc); + SetLocalInt(oNew, "CEP_L_AMION", nAmIOn); + SetLocalInt(oNew, "CEP_L_LIGHTCYCLE", nLightCycle); + SetLocalInt(oNew, "CEP_L_LIGHTINITIALIZED", nInitialized); + SetLocalInt(oNew, "CEP_L_LIGHTDIURNAL", GetIsNight()); + SetLocalString(oNew, "CEP_L_LIGHTCONST", sLightConst); + SetLocalString(oNew, "CEP_L_LIGHTSWAP", sResRef); + + if (nAmIOn == 1) + { + effect eLight = EffectVisualEffect(nLight); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLight, oNew); + } + + // Copy DMTS variables to new placeable + + string sVariables = SaveVariables(OBJECT_SELF); + RestoreVariables(oNew, sVariables); + + location lOriginal = GetLocalLocation(OBJECT_SELF, "DM_PAA_lOriginal"); + object oStageManager = GetLocalObject(OBJECT_SELF, "oStageManager"); + string sPropID_VarName = GetLocalString(OBJECT_SELF, "sPropID_VarName"); + + if (GetIsObjectValid(oStageManager)) + { SetLocalObject(oNew, "oStageManager", oStageManager); + SetLocalObject(oStageManager, sPropID_VarName, oNew); + } + + SetLocalLocation(oNew, "DM_PAA_lOriginal", lOriginal); + + + DestroyObject(OBJECT_SELF, 0.0); + return; + }else{ + + //if not a cycling placeable and uninitialized, place a light effect, if needed + if (nAmIOn == 1) + { + effect eLight = EffectVisualEffect(nLight); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLight, OBJECT_SELF); + } + } +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_torchupdate.ncs b/cep_blueprints/_hak/prc_add_sb/zep_torchupdate.ncs new file mode 100644 index 0000000..7fc2d73 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_torchupdate.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_torchupdate.nss b/cep_blueprints/_hak/prc_add_sb/zep_torchupdate.nss new file mode 100644 index 0000000..51cb97d --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_torchupdate.nss @@ -0,0 +1,50 @@ +//:://///////////////////////////////////////////// +//:: ZEP_TORCHUPDATE.nss +//:: Created by by Dan Heidel 1/21/04 for CEP +//::////////////////////////////////////////////// +/* + This function is used to update the light effect that is placed on a + light-emitting placeable. Note, this function does not actually change the + CEP_L_LIGHTCONST localstring that determines the color of the lighting + effect - you haveto writea function to do this yourself. However, if the + value of CEP_L_LIGHTCONST is changed, there will be no update until the next + time the placeable switches on or off unless this function is called. +*/ + +#include "zep_inc_main" + +void main() +{ + int nAmIOn = GetLocalInt(OBJECT_SELF, "CEP_L_AMION"); + int nLightCycle = GetLocalInt(OBJECT_SELF, "CEP_L_LIGHTCYCLE"); + string sLightConst = GetLocalString(OBJECT_SELF, "CEP_L_LIGHTCONST"); + string sLightSwap = GetLocalString(OBJECT_SELF, "CEP_L_LIGHTSWAP"); + int nLight = ColorInit(sLightConst); + if (nAmIOn == 1) + { + object oSelf = OBJECT_SELF; + effect eEffect = GetFirstEffect(oSelf); + while (GetIsEffectValid(eEffect) == TRUE) + { + if (GetEffectType(eEffect) == EFFECT_TYPE_VISUALEFFECT) + RemoveEffect(oSelf, eEffect); + eEffect = GetNextEffect(oSelf); + } + effect eLight = EffectVisualEffect(nLight); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLight, oSelf); + } + else + { + object oSelf = OBJECT_SELF; + PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE); + effect eEffect = GetFirstEffect(oSelf); + while (GetIsEffectValid(eEffect) == TRUE) + { + if (GetEffectType(eEffect) == EFFECT_TYPE_VISUALEFFECT) + RemoveEffect(oSelf, eEffect); + } + } + +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_torigate.utp b/cep_blueprints/_hak/prc_add_sb/zep_torigate.utp new file mode 100644 index 0000000..ba1e578 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_torigate.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tower014.utp b/cep_blueprints/_hak/prc_add_sb/zep_tower014.utp new file mode 100644 index 0000000..27b2f04 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tower014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tower016.utp b/cep_blueprints/_hak/prc_add_sb/zep_tower016.utp new file mode 100644 index 0000000..62642d8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tower016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tower017.utp b/cep_blueprints/_hak/prc_add_sb/zep_tower017.utp new file mode 100644 index 0000000..180f121 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tower017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_001.utp b/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_001.utp new file mode 100644 index 0000000..f26cfda Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_002.utp b/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_002.utp new file mode 100644 index 0000000..acca499 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_003.utp b/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_003.utp new file mode 100644 index 0000000..5676e1d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_004.utp b/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_004.utp new file mode 100644 index 0000000..2f35e70 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_005.utp b/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_005.utp new file mode 100644 index 0000000..3173474 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_006.utp b/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_006.utp new file mode 100644 index 0000000..97d778f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_007.utp b/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_007.utp new file mode 100644 index 0000000..7e2219f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_008.utp b/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_008.utp new file mode 100644 index 0000000..76b47e9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_009.utp b/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_009.utp new file mode 100644 index 0000000..298c622 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tr_pil_009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_track008.utp b/cep_blueprints/_hak/prc_add_sb/zep_track008.utp new file mode 100644 index 0000000..7d60c45 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_track008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tracks001.utp b/cep_blueprints/_hak/prc_add_sb/zep_tracks001.utp new file mode 100644 index 0000000..15dded3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tracks001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tracks002.utp b/cep_blueprints/_hak/prc_add_sb/zep_tracks002.utp new file mode 100644 index 0000000..e0a025d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tracks002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tracks003.utp b/cep_blueprints/_hak/prc_add_sb/zep_tracks003.utp new file mode 100644 index 0000000..74eeb2e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tracks003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tracks004.utp b/cep_blueprints/_hak/prc_add_sb/zep_tracks004.utp new file mode 100644 index 0000000..416b47c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tracks004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tracks005.utp b/cep_blueprints/_hak/prc_add_sb/zep_tracks005.utp new file mode 100644 index 0000000..bcbbfd9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tracks005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tracks006.utp b/cep_blueprints/_hak/prc_add_sb/zep_tracks006.utp new file mode 100644 index 0000000..03bc954 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tracks006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tracks007.utp b/cep_blueprints/_hak/prc_add_sb/zep_tracks007.utp new file mode 100644 index 0000000..04ef0d5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tracks007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tracks009.utp b/cep_blueprints/_hak/prc_add_sb/zep_tracks009.utp new file mode 100644 index 0000000..f0c258f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tracks009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tracks010.utp b/cep_blueprints/_hak/prc_add_sb/zep_tracks010.utp new file mode 100644 index 0000000..f864a8d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tracks010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tracks011.utp b/cep_blueprints/_hak/prc_add_sb/zep_tracks011.utp new file mode 100644 index 0000000..f0748da Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tracks011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tracks012.utp b/cep_blueprints/_hak/prc_add_sb/zep_tracks012.utp new file mode 100644 index 0000000..6c549de Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tracks012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tracks013.utp b/cep_blueprints/_hak/prc_add_sb/zep_tracks013.utp new file mode 100644 index 0000000..6610651 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tracks013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tracks014.utp b/cep_blueprints/_hak/prc_add_sb/zep_tracks014.utp new file mode 100644 index 0000000..8b50833 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tracks014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tracks015.utp b/cep_blueprints/_hak/prc_add_sb/zep_tracks015.utp new file mode 100644 index 0000000..d04bff6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tracks015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tracks016.utp b/cep_blueprints/_hak/prc_add_sb/zep_tracks016.utp new file mode 100644 index 0000000..2b6ed68 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tracks016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tracks017.utp b/cep_blueprints/_hak/prc_add_sb/zep_tracks017.utp new file mode 100644 index 0000000..f43441f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tracks017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tracks018.utp b/cep_blueprints/_hak/prc_add_sb/zep_tracks018.utp new file mode 100644 index 0000000..bbbf889 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tracks018.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tracks019.utp b/cep_blueprints/_hak/prc_add_sb/zep_tracks019.utp new file mode 100644 index 0000000..177ebda Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tracks019.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tracks020.utp b/cep_blueprints/_hak/prc_add_sb/zep_tracks020.utp new file mode 100644 index 0000000..4442188 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tracks020.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trap001.utp b/cep_blueprints/_hak/prc_add_sb/zep_trap001.utp new file mode 100644 index 0000000..9fea656 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trap001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trap002.utp b/cep_blueprints/_hak/prc_add_sb/zep_trap002.utp new file mode 100644 index 0000000..80d1f09 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trap002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_traps002.utp b/cep_blueprints/_hak/prc_add_sb/zep_traps002.utp new file mode 100644 index 0000000..5869a3d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_traps002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_traps003.utp b/cep_blueprints/_hak/prc_add_sb/zep_traps003.utp new file mode 100644 index 0000000..d1003b2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_traps003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_traps004.utp b/cep_blueprints/_hak/prc_add_sb/zep_traps004.utp new file mode 100644 index 0000000..f0cb251 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_traps004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_traps005.utp b/cep_blueprints/_hak/prc_add_sb/zep_traps005.utp new file mode 100644 index 0000000..2ab5ee9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_traps005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_traps006.utp b/cep_blueprints/_hak/prc_add_sb/zep_traps006.utp new file mode 100644 index 0000000..79a976c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_traps006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_traps007.utp b/cep_blueprints/_hak/prc_add_sb/zep_traps007.utp new file mode 100644 index 0000000..f6fb824 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_traps007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_traps008.utp b/cep_blueprints/_hak/prc_add_sb/zep_traps008.utp new file mode 100644 index 0000000..6b48051 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_traps008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_traps009.utp b/cep_blueprints/_hak/prc_add_sb/zep_traps009.utp new file mode 100644 index 0000000..40e93ca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_traps009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_traps010.utp b/cep_blueprints/_hak/prc_add_sb/zep_traps010.utp new file mode 100644 index 0000000..739c17d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_traps010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_traps011.utp b/cep_blueprints/_hak/prc_add_sb/zep_traps011.utp new file mode 100644 index 0000000..5cef6a6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_traps011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_traps012.utp b/cep_blueprints/_hak/prc_add_sb/zep_traps012.utp new file mode 100644 index 0000000..b847b56 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_traps012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_treant.utc b/cep_blueprints/_hak/prc_add_sb/zep_treant.utc new file mode 100644 index 0000000..6e80a64 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_treant.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_treanttree.utp b/cep_blueprints/_hak/prc_add_sb/zep_treanttree.utp new file mode 100644 index 0000000..11f229f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_treanttree.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trebuchet.utp b/cep_blueprints/_hak/prc_add_sb/zep_trebuchet.utp new file mode 100644 index 0000000..db4a79f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trebuchet.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree001.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree001.utp new file mode 100644 index 0000000..f210d21 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree002.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree002.utp new file mode 100644 index 0000000..eb75fe1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree003.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree003.utp new file mode 100644 index 0000000..f520704 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree004.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree004.utp new file mode 100644 index 0000000..0ce9f3e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree005.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree005.utp new file mode 100644 index 0000000..658eaea Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree006.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree006.utp new file mode 100644 index 0000000..38bdf3f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree007.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree007.utp new file mode 100644 index 0000000..4319af8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree008.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree008.utp new file mode 100644 index 0000000..fe713d1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree009.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree009.utp new file mode 100644 index 0000000..d60c122 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree010.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree010.utp new file mode 100644 index 0000000..0c4e623 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree011.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree011.utp new file mode 100644 index 0000000..b7385cc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree012.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree012.utp new file mode 100644 index 0000000..19ecbcd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree013.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree013.utp new file mode 100644 index 0000000..2307670 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree014.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree014.utp new file mode 100644 index 0000000..a16843e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree015.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree015.utp new file mode 100644 index 0000000..f40e7dc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree016.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree016.utp new file mode 100644 index 0000000..e7fc1f2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree017.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree017.utp new file mode 100644 index 0000000..21b10c6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree018.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree018.utp new file mode 100644 index 0000000..97f573f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree018.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree019.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree019.utp new file mode 100644 index 0000000..e27b5e8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree019.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree020.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree020.utp new file mode 100644 index 0000000..ae41bc6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree020.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree021.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree021.utp new file mode 100644 index 0000000..9b74aa4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree021.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree022.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree022.utp new file mode 100644 index 0000000..e3c3265 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree022.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree023.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree023.utp new file mode 100644 index 0000000..8a1fb4a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree023.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree024.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree024.utp new file mode 100644 index 0000000..f45945a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree024.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree025.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree025.utp new file mode 100644 index 0000000..7cfed42 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree025.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree026.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree026.utp new file mode 100644 index 0000000..7ff54f6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree026.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree027.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree027.utp new file mode 100644 index 0000000..6b845cc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree027.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree028.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree028.utp new file mode 100644 index 0000000..23a0a22 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree028.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree029.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree029.utp new file mode 100644 index 0000000..ea837e8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree029.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree030.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree030.utp new file mode 100644 index 0000000..f46c4df Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree030.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree031.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree031.utp new file mode 100644 index 0000000..1ed608d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree031.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree032.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree032.utp new file mode 100644 index 0000000..e576851 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree032.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree033.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree033.utp new file mode 100644 index 0000000..c4e2de1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree033.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree034.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree034.utp new file mode 100644 index 0000000..fd0b0ea Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree034.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree035.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree035.utp new file mode 100644 index 0000000..27f8c68 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree035.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree036.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree036.utp new file mode 100644 index 0000000..9191bef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree036.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree037.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree037.utp new file mode 100644 index 0000000..d199d39 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree037.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree038.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree038.utp new file mode 100644 index 0000000..e14ca86 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree038.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree039.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree039.utp new file mode 100644 index 0000000..db46bda Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree039.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree040.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree040.utp new file mode 100644 index 0000000..cf27607 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree040.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree041.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree041.utp new file mode 100644 index 0000000..6f967d7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree041.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree042.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree042.utp new file mode 100644 index 0000000..70696b3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree042.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree043.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree043.utp new file mode 100644 index 0000000..800c1aa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree043.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree044.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree044.utp new file mode 100644 index 0000000..806988f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree044.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree045.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree045.utp new file mode 100644 index 0000000..8d63aaa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree045.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree046.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree046.utp new file mode 100644 index 0000000..8dabf3e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree046.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree047.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree047.utp new file mode 100644 index 0000000..f4b2132 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree047.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree048.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree048.utp new file mode 100644 index 0000000..e9c0e1a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree048.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree049.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree049.utp new file mode 100644 index 0000000..90652dc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree049.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree050.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree050.utp new file mode 100644 index 0000000..844f21a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree050.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree051.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree051.utp new file mode 100644 index 0000000..9277f9f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree051.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree052.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree052.utp new file mode 100644 index 0000000..d0ab647 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree052.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree053.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree053.utp new file mode 100644 index 0000000..7c0294d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree053.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree054.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree054.utp new file mode 100644 index 0000000..11656c0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree054.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree055.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree055.utp new file mode 100644 index 0000000..a237d9a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree055.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree056.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree056.utp new file mode 100644 index 0000000..bf2c677 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree056.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree057.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree057.utp new file mode 100644 index 0000000..310d855 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree057.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree058.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree058.utp new file mode 100644 index 0000000..f4ba91d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree058.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree059.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree059.utp new file mode 100644 index 0000000..367629a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree059.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree060.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree060.utp new file mode 100644 index 0000000..b6d4784 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree060.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree061.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree061.utp new file mode 100644 index 0000000..963a050 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree061.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree062.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree062.utp new file mode 100644 index 0000000..4cad580 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree062.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree063.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree063.utp new file mode 100644 index 0000000..79e99e3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree063.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree064.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree064.utp new file mode 100644 index 0000000..128c0ff Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree064.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree065.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree065.utp new file mode 100644 index 0000000..cb13fdd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree065.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree066.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree066.utp new file mode 100644 index 0000000..b7c8e76 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree066.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree067.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree067.utp new file mode 100644 index 0000000..3f5ec73 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree067.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree068.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree068.utp new file mode 100644 index 0000000..4d50fb7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree068.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree069.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree069.utp new file mode 100644 index 0000000..42eaeb0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree069.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree070.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree070.utp new file mode 100644 index 0000000..b6ce731 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree070.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree071.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree071.utp new file mode 100644 index 0000000..710fcc6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree071.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree072.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree072.utp new file mode 100644 index 0000000..2baa48f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree072.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree073.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree073.utp new file mode 100644 index 0000000..494e205 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree073.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree074.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree074.utp new file mode 100644 index 0000000..265e379 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree074.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree075.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree075.utp new file mode 100644 index 0000000..b69235e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree075.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree076.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree076.utp new file mode 100644 index 0000000..9b087b1 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree076.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree077.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree077.utp new file mode 100644 index 0000000..e809069 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree077.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree078.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree078.utp new file mode 100644 index 0000000..0558dfa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree078.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree079.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree079.utp new file mode 100644 index 0000000..4b2a3db Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree079.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree080.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree080.utp new file mode 100644 index 0000000..ff55066 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree080.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree081.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree081.utp new file mode 100644 index 0000000..bf42243 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree081.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree082.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree082.utp new file mode 100644 index 0000000..dfe7a6b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree082.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree083.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree083.utp new file mode 100644 index 0000000..5409c2d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree083.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree084.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree084.utp new file mode 100644 index 0000000..0480edf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree084.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree085.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree085.utp new file mode 100644 index 0000000..512bd11 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree085.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree086.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree086.utp new file mode 100644 index 0000000..79dae79 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree086.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree087.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree087.utp new file mode 100644 index 0000000..1764373 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree087.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree088.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree088.utp new file mode 100644 index 0000000..d894ffa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree088.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree089.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree089.utp new file mode 100644 index 0000000..f37cc2a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree089.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree090.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree090.utp new file mode 100644 index 0000000..e48db39 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree090.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree091.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree091.utp new file mode 100644 index 0000000..7d8cb26 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree091.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree092.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree092.utp new file mode 100644 index 0000000..5d087c5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree092.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tree093.utp b/cep_blueprints/_hak/prc_add_sb/zep_tree093.utp new file mode 100644 index 0000000..1443449 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tree093.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_treebig.utp b/cep_blueprints/_hak/prc_add_sb/zep_treebig.utp new file mode 100644 index 0000000..20c486a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_treebig.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trident.uti b/cep_blueprints/_hak/prc_add_sb/zep_trident.uti new file mode 100644 index 0000000..67a3383 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trident.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trident004.uti b/cep_blueprints/_hak/prc_add_sb/zep_trident004.uti new file mode 100644 index 0000000..53abb6b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trident004.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trident2.uti b/cep_blueprints/_hak/prc_add_sb/zep_trident2.uti new file mode 100644 index 0000000..393974b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trident2.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trident3.uti b/cep_blueprints/_hak/prc_add_sb/zep_trident3.uti new file mode 100644 index 0000000..7369a7d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trident3.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_troll.utc b/cep_blueprints/_hak/prc_add_sb/zep_troll.utc new file mode 100644 index 0000000..bb91488 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_troll.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_troll01.utc b/cep_blueprints/_hak/prc_add_sb/zep_troll01.utc new file mode 100644 index 0000000..344d84c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_troll01.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_troll02.utc b/cep_blueprints/_hak/prc_add_sb/zep_troll02.utc new file mode 100644 index 0000000..95c8107 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_troll02.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_troll03.utc b/cep_blueprints/_hak/prc_add_sb/zep_troll03.utc new file mode 100644 index 0000000..f8c894b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_troll03.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trollboss.utc b/cep_blueprints/_hak/prc_add_sb/zep_trollboss.utc new file mode 100644 index 0000000..5df07d2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trollboss.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trollchief.utc b/cep_blueprints/_hak/prc_add_sb/zep_trollchief.utc new file mode 100644 index 0000000..23bff71 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trollchief.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trollocb.utc b/cep_blueprints/_hak/prc_add_sb/zep_trollocb.utc new file mode 100644 index 0000000..be0a53c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trollocb.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trollocbe1.utc b/cep_blueprints/_hak/prc_add_sb/zep_trollocbe1.utc new file mode 100644 index 0000000..f293e5e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trollocbe1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trollocbe2.utc b/cep_blueprints/_hak/prc_add_sb/zep_trollocbe2.utc new file mode 100644 index 0000000..d9ab145 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trollocbe2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trollocg.utc b/cep_blueprints/_hak/prc_add_sb/zep_trollocg.utc new file mode 100644 index 0000000..9a49c96 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trollocg.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trolloch.utc b/cep_blueprints/_hak/prc_add_sb/zep_trolloch.utc new file mode 100644 index 0000000..8688d11 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trolloch.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trollocl1.utc b/cep_blueprints/_hak/prc_add_sb/zep_trollocl1.utc new file mode 100644 index 0000000..e213b53 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trollocl1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trollocl2.utc b/cep_blueprints/_hak/prc_add_sb/zep_trollocl2.utc new file mode 100644 index 0000000..1a4f535 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trollocl2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trollocw1.utc b/cep_blueprints/_hak/prc_add_sb/zep_trollocw1.utc new file mode 100644 index 0000000..9e7ec14 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trollocw1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trollocw2.utc b/cep_blueprints/_hak/prc_add_sb/zep_trollocw2.utc new file mode 100644 index 0000000..164c8a0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trollocw2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trollwar.utc b/cep_blueprints/_hak/prc_add_sb/zep_trollwar.utc new file mode 100644 index 0000000..0de0650 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trollwar.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trollwar001.utc b/cep_blueprints/_hak/prc_add_sb/zep_trollwar001.utc new file mode 100644 index 0000000..32956e9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trollwar001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trollwar002.utc b/cep_blueprints/_hak/prc_add_sb/zep_trollwar002.utc new file mode 100644 index 0000000..d0fc459 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trollwar002.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_trollwiz.utc b/cep_blueprints/_hak/prc_add_sb/zep_trollwiz.utc new file mode 100644 index 0000000..9b42a0e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_trollwiz.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_troughfood.utp b/cep_blueprints/_hak/prc_add_sb/zep_troughfood.utp new file mode 100644 index 0000000..9128ee0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_troughfood.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_troughobl.utp b/cep_blueprints/_hak/prc_add_sb/zep_troughobl.utp new file mode 100644 index 0000000..973dd0f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_troughobl.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_troughrnd.utp b/cep_blueprints/_hak/prc_add_sb/zep_troughrnd.utp new file mode 100644 index 0000000..aca0a9a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_troughrnd.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tshldwl_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_tshldwl_001.uti new file mode 100644 index 0000000..23cca63 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tshldwl_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tub001.utp b/cep_blueprints/_hak/prc_add_sb/zep_tub001.utp new file mode 100644 index 0000000..748f8c2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tub001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tub002.utp b/cep_blueprints/_hak/prc_add_sb/zep_tub002.utp new file mode 100644 index 0000000..822e19b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tub002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_tulip.uti b/cep_blueprints/_hak/prc_add_sb/zep_tulip.uti new file mode 100644 index 0000000..7820ccd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_tulip.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_twigblight.utc b/cep_blueprints/_hak/prc_add_sb/zep_twigblight.utc new file mode 100644 index 0000000..fca8125 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_twigblight.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_ultroloth.utc b/cep_blueprints/_hak/prc_add_sb/zep_ultroloth.utc new file mode 100644 index 0000000..067717f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_ultroloth.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_umbrella.uti b/cep_blueprints/_hak/prc_add_sb/zep_umbrella.uti new file mode 100644 index 0000000..31eaa8e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_umbrella.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_unholysw.uti b/cep_blueprints/_hak/prc_add_sb/zep_unholysw.uti new file mode 100644 index 0000000..47d75b6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_unholysw.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_unicornflag.utp b/cep_blueprints/_hak/prc_add_sb/zep_unicornflag.utp new file mode 100644 index 0000000..5635798 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_unicornflag.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_unsecret.ncs b/cep_blueprints/_hak/prc_add_sb/zep_unsecret.ncs new file mode 100644 index 0000000..e5ed123 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_unsecret.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_unsecret.nss b/cep_blueprints/_hak/prc_add_sb/zep_unsecret.nss new file mode 100644 index 0000000..3f088d2 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_unsecret.nss @@ -0,0 +1,16 @@ +void main() +{ + location lLoc = GetLocation(OBJECT_SELF); + string sSecretSwap = GetLocalString(OBJECT_SELF, "CEP_L_SECRETSWAP"); + //SendMessageToPC(GetFirstPC(), GetResRef(OBJECT_SELF)); + //SendMessageToPC(GetFirstPC(), sSecretSwap); + object oNew = CreateObject(OBJECT_TYPE_PLACEABLE, sSecretSwap, lLoc); + SetLocalString(oNew, "CEP_L_SECRETSWAP", GetResRef(OBJECT_SELF)); + SetLocalString(oNew, "CEP_L_GATEBLOCK", GetLocalString(OBJECT_SELF, "CEP_L_GATEBLOCK")); + //SendMessageToPC(GetFirstPC(), "New ResRef "+GetResRef(oNew)); + //SendMessageToPC(GetFirstPC(), "New Tag "+GetTag(oNew)); + //SendMessageToPC(GetFirstPC(), "New Swap "+GetLocalString(oNew, "CEP_L_SECRETSWAP")); + ExecuteScript("zep_doorkill", OBJECT_SELF); + ExecuteScript("zep_doorspawn", oNew); + DestroyObject(OBJECT_SELF); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_urakhai.utc b/cep_blueprints/_hak/prc_add_sb/zep_urakhai.utc new file mode 100644 index 0000000..9d3ccb4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_urakhai.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_urakhaib.utc b/cep_blueprints/_hak/prc_add_sb/zep_urakhaib.utc new file mode 100644 index 0000000..bf37c0e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_urakhaib.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_urakhaic.utc b/cep_blueprints/_hak/prc_add_sb/zep_urakhaic.utc new file mode 100644 index 0000000..8a7ff8f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_urakhaic.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_urakhais.utc b/cep_blueprints/_hak/prc_add_sb/zep_urakhais.utc new file mode 100644 index 0000000..7803204 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_urakhais.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_urakhaisold.utc b/cep_blueprints/_hak/prc_add_sb/zep_urakhaisold.utc new file mode 100644 index 0000000..021bdd0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_urakhaisold.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_use_chair.ncs b/cep_blueprints/_hak/prc_add_sb/zep_use_chair.ncs new file mode 100644 index 0000000..a0d74a3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_use_chair.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_use_chair.nss b/cep_blueprints/_hak/prc_add_sb/zep_use_chair.nss new file mode 100644 index 0000000..4a7d0a0 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_use_chair.nss @@ -0,0 +1,20 @@ +//:://///////////////////////////////////////////// +//:: FileName: X0_O2_CHAIR_SIT +//::////////////////////////////////////////////// +/* + Sit on a placeable chair or on an invisible object + placed on a tileset chair. +*/ +//::////////////////////////////////////////////// +//:: Created By: Naomi Novik +//:: Created On: /2002 +//::////////////////////////////////////////////// + + +void main() +{ + object oChair = OBJECT_SELF; + if (!GetIsObjectValid(GetSittingCreature(OBJECT_SELF))) { + AssignCommand(GetLastUsedBy(), ActionSit(oChair)); + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vampireshad.utc b/cep_blueprints/_hak/prc_add_sb/zep_vampireshad.utc new file mode 100644 index 0000000..7af74de Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vampireshad.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vase002.utp b/cep_blueprints/_hak/prc_add_sb/zep_vase002.utp new file mode 100644 index 0000000..7bcb832 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vase002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vase004.utp b/cep_blueprints/_hak/prc_add_sb/zep_vase004.utp new file mode 100644 index 0000000..eac8d84 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vase004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vase005.utp b/cep_blueprints/_hak/prc_add_sb/zep_vase005.utp new file mode 100644 index 0000000..0a19d2c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vase005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vase006.utp b/cep_blueprints/_hak/prc_add_sb/zep_vase006.utp new file mode 100644 index 0000000..8f175b9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vase006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vase007.utp b/cep_blueprints/_hak/prc_add_sb/zep_vase007.utp new file mode 100644 index 0000000..490ede0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vase007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vase01.utp b/cep_blueprints/_hak/prc_add_sb/zep_vase01.utp new file mode 100644 index 0000000..19289eb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vase01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vase02.utp b/cep_blueprints/_hak/prc_add_sb/zep_vase02.utp new file mode 100644 index 0000000..03a335c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vase02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vase03.utp b/cep_blueprints/_hak/prc_add_sb/zep_vase03.utp new file mode 100644 index 0000000..147ecc2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vase03.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vase04.utp b/cep_blueprints/_hak/prc_add_sb/zep_vase04.utp new file mode 100644 index 0000000..425b22d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vase04.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vecna.utc b/cep_blueprints/_hak/prc_add_sb/zep_vecna.utc new file mode 100644 index 0000000..8c2ccc2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vecna.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_veg_thor_spw.ncs b/cep_blueprints/_hak/prc_add_sb/zep_veg_thor_spw.ncs new file mode 100644 index 0000000..fea6499 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_veg_thor_spw.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_veg_thor_spw.nss b/cep_blueprints/_hak/prc_add_sb/zep_veg_thor_spw.nss new file mode 100644 index 0000000..4a10d28 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_veg_thor_spw.nss @@ -0,0 +1,75 @@ +//:://///////////////////////////////////////////// +//:: Default: On Spawn In +//:: NW_C2_DEFAULT9 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Determines the course of action to be taken + after having just been spawned in +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 25, 2001 +//::////////////////////////////////////////////// +#include "NW_O2_CONINCLUDE" +#include "NW_I0_GENERIC" + +void main() +{ +// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) **************************************************************************** + //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION); + //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION); + // This causes the creature to say a special greeting in their conversation file + // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired + // greeting in order to designate it. As the creature is actually saying this to + // himself, don't attach any player responses to the greeting. + + //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET); + // This will set the listening pattern on the NPC to attack when allies call + SetSpawnInCondition(NW_FLAG_STEALTH); + // If the NPC has stealth and they are a rogue go into stealth mode + //SetSpawnInCondition(NW_FLAG_SEARCH); + // If the NPC has Search go into Search Mode + //SetSpawnInCondition(NW_FLAG_SET_WARNINGS); + // This will set the NPC to give a warning to non-enemies before attacking + + //SetSpawnInCondition(NW_FLAG_SLEEP); + //Creatures that spawn in during the night will be asleep. + //SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING); + //SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION); + //SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS); + SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS); + //This will play Ambient Animations until the NPC sees an enemy or is cleared. + //NOTE that these animations will play automatically for Encounter Creatures. + + // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME. + //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.) + //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE); // OPTIONAL BEHAVIOR (Flee to a way point and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE); // OPTIONAL BEHAVIOR (Teleport to safety and do not return.) + //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN); // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.) + +// CUSTOM USER DEFINED EVENTS +/* + The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD. Like the + On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors. The user defined + events user 1000 - 1010 +*/ + //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1001 + //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 + //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1005 + //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1006 + //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1008 + //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003 + //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1004 + //SetSpawnInCondition(NW_FLAG_DEATH_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1007 + +// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) ***************************************************************************************** + SetListeningPatterns(); // Goes through and sets up which shouts the NPC will listen to. + WalkWayPoints(); // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0) + // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them + // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after + // combat. + GenerateNPCTreasure(); //* Use this to create a small amount of treasure on the creature +} + + diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vegemount_d.ncs b/cep_blueprints/_hak/prc_add_sb/zep_vegemount_d.ncs new file mode 100644 index 0000000..098c1b4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vegemount_d.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vegemount_d.nss b/cep_blueprints/_hak/prc_add_sb/zep_vegemount_d.nss new file mode 100644 index 0000000..077ab68 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_vegemount_d.nss @@ -0,0 +1,52 @@ +//:://///////////////////////////////////////////// +//:: Default:On Death +//:: NW_C2_DEFAULT7 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Shouts to allies that they have been killed +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 25, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_GENERIC" + +void main() +{ + int nClass = GetLevelByClass(CLASS_TYPE_COMMONER); + int nAlign = GetAlignmentGoodEvil(OBJECT_SELF); + if(nClass > 0 && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL)) + { + object oKiller = GetLastKiller(); + AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5); + } + + SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK); + //Shout Attack my target, only works with the On Spawn In setup + SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK); + if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT)) + { + SignalEvent(OBJECT_SELF, EventUserDefined(1007)); + } + //////////////////////////////// +// Goblin Worg Rider(Thorny Rider) stuff +///////////////////////////////// + + + +// Get position and facing of Worg(Thorny) and set spawn point for the Goblin(Vege) + vector vThorny = GetPosition(OBJECT_SELF); + float fAngle = GetFacing(OBJECT_SELF); + location lVege; + vector vChange; + object oArea = GetArea(OBJECT_SELF); + vChange.x = cos(fAngle) * 1.0; + lVege = Location(oArea, vThorny+vChange, fAngle); + + +// Spawn the goblin(Vege) because the worg(thorny) has died + effect eKnockdwn = ExtraordinaryEffect(EffectKnockdown()); + object oSpawn = CreateObject(OBJECT_TYPE_CREATURE,"zep_vegepygmy",lVege,FALSE); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eKnockdwn, oSpawn, 2.0); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vegepygmy.utc b/cep_blueprints/_hak/prc_add_sb/zep_vegepygmy.utc new file mode 100644 index 0000000..0b2b281 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vegepygmy.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vegepygmyb.utc b/cep_blueprints/_hak/prc_add_sb/zep_vegepygmyb.utc new file mode 100644 index 0000000..081db6f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vegepygmyb.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vegepygmych.utc b/cep_blueprints/_hak/prc_add_sb/zep_vegepygmych.utc new file mode 100644 index 0000000..8780c23 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vegepygmych.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vegepygmysc.utc b/cep_blueprints/_hak/prc_add_sb/zep_vegepygmysc.utc new file mode 100644 index 0000000..992f8e2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vegepygmysc.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vegrider_die.ncs b/cep_blueprints/_hak/prc_add_sb/zep_vegrider_die.ncs new file mode 100644 index 0000000..d989f91 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vegrider_die.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vegrider_die.nss b/cep_blueprints/_hak/prc_add_sb/zep_vegrider_die.nss new file mode 100644 index 0000000..1230668 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_vegrider_die.nss @@ -0,0 +1,38 @@ +//:://///////////////////////////////////////////// +//:: Default:On Death +//:: NW_C2_DEFAULT7 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Shouts to allies that they have been killed +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 25, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_GENERIC" + +void main() +{ + int nClass = GetLevelByClass(CLASS_TYPE_COMMONER); + int nAlign = GetAlignmentGoodEvil(OBJECT_SELF); + if(nClass > 0 && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL)) + { + object oKiller = GetLastKiller(); + AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5); + } + + SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK); + //Shout Attack my target, only works with the On Spawn In setup + SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK); + if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT)) + { + SignalEvent(OBJECT_SELF, EventUserDefined(1007)); + } + + // Spawn the worg(thorny) because the goblin(vegepygmy) has died + location lLoc= GetLocation(OBJECT_SELF); + effect eKnockdwn = ExtraordinaryEffect(EffectKnockdown()); + object oSpawn = CreateObject(OBJECT_TYPE_CREATURE,"zep_thorny",lLoc,FALSE); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eKnockdwn, oSpawn, 2.0); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vine_onh.ncs b/cep_blueprints/_hak/prc_add_sb/zep_vine_onh.ncs new file mode 100644 index 0000000..261c912 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vine_onh.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vine_onh.nss b/cep_blueprints/_hak/prc_add_sb/zep_vine_onh.nss new file mode 100644 index 0000000..b5668e7 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_vine_onh.nss @@ -0,0 +1,120 @@ +//::////////////////////////////////////////////////// +//:: NW_C2_DEFAULT1 +/* + Default OnHeartbeat script for NPCs. + + This script causes NPCs to perform default animations + while not otherwise engaged. + + This script duplicates the behavior of the default + script and just cleans up the code and removes + redundant conditional checks. + + */ +//::////////////////////////////////////////////////// +//:: Copyright (c) 2002 Floodgate Entertainment +//:: Created By: Naomi Novik +//:: Created On: 12/22/2002 +//::////////////////////////////////////////////////// + +/* + Updated for Assassin Vines +*/ + +#include "nw_i0_generic" + +void main() +{ + // * if not runnning normal or better Ai then exit for performance reasons + if (GetAILevel() == AI_LEVEL_VERY_LOW) return; + + // Buff ourselves up right away if we should + if(GetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY)) + { + // This will return TRUE if an enemy was within 40.0 m + // and we buffed ourselves up instantly to respond -- + // simulates a spellcaster with protections enabled + // already. + if(TalentAdvancedBuff(40.0)) + { + // This is a one-shot deal + SetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY, FALSE); + + // This return means we skip sending the user-defined + // heartbeat signal in this one case. + return; + } + } + + + if(GetHasEffect(EFFECT_TYPE_SLEEP)) + { + // If we're asleep and this is the result of sleeping + // at night, apply the floating 'z's visual effect + // every so often + + if(GetSpawnInCondition(NW_FLAG_SLEEPING_AT_NIGHT)) + { + effect eVis = EffectVisualEffect(VFX_IMP_SLEEP); + if(d10() > 6) + { + ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF); + } + } + } + + // If we have the 'constant' waypoints flag set, walk to the next + // waypoint. + else if ( GetWalkCondition(NW_WALK_FLAG_CONSTANT) ) + { + WalkWayPoints(); + } + + // Check to see if we should be playing default animations + // - make sure we don't have any current targets + else if ( !GetIsObjectValid(GetAttemptedAttackTarget()) + && !GetIsObjectValid(GetAttemptedSpellTarget()) + // && !GetIsPostOrWalking()) + && !GetIsObjectValid(GetNearestSeenEnemy())) + { + if (GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL) || GetBehaviorState(NW_FLAG_BEHAVIOR_OMNIVORE) || + GetBehaviorState(NW_FLAG_BEHAVIOR_HERBIVORE)) + { + // This handles special attacking/fleeing behavior + // for omnivores & herbivores. + DetermineSpecialBehavior(); + } + else if (!IsInConversation(OBJECT_SELF)) + { + if (GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS) + || GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS_AVIAN) + || GetIsEncounterCreature()) + { + PlayMobileAmbientAnimations(); + } + else if (GetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS)) + { + PlayImmobileAmbientAnimations(); + } + } + } + + int sCheck1 = GetLocalInt(OBJECT_SELF,"sCheck1"); + object oPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_IS_PC,OBJECT_SELF); + if((GetDistanceBetween(OBJECT_SELF,oPC)<=3.5) && (sCheck1!=1)) + { + ChangeToStandardFaction(OBJECT_SELF,STANDARD_FACTION_HOSTILE); + SetLocalInt(OBJECT_SELF,"sCheck1",1); + ActionAttack(oPC); + ExecuteScript("nw_c2_default2",OBJECT_SELF); + } + else if(sCheck1 == 1) + { + ExecuteScript("nw_c2_default2",OBJECT_SELF); + // Send the user-defined event signal if specified + if(GetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT)) + { + SignalEvent(OBJECT_SELF, EventUserDefined(EVENT_HEARTBEAT)); + } + } +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vines1.utc b/cep_blueprints/_hak/prc_add_sb/zep_vines1.utc new file mode 100644 index 0000000..0448c25 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vines1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vines2.utc b/cep_blueprints/_hak/prc_add_sb/zep_vines2.utc new file mode 100644 index 0000000..5642c4e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vines2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vinesh.utp b/cep_blueprints/_hak/prc_add_sb/zep_vinesh.utp new file mode 100644 index 0000000..cc9cf84 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vinesh.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vinesv.utp b/cep_blueprints/_hak/prc_add_sb/zep_vinesv.utp new file mode 100644 index 0000000..7399ddd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vinesv.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_violinbow.uti b/cep_blueprints/_hak/prc_add_sb/zep_violinbow.uti new file mode 100644 index 0000000..0e47800 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_violinbow.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_violinf.uti b/cep_blueprints/_hak/prc_add_sb/zep_violinf.uti new file mode 100644 index 0000000..3e544c2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_violinf.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_violinm.uti b/cep_blueprints/_hak/prc_add_sb/zep_violinm.uti new file mode 100644 index 0000000..a4da40b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_violinm.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_visage.utc b/cep_blueprints/_hak/prc_add_sb/zep_visage.utc new file mode 100644 index 0000000..f90f11f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_visage.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_visagegr.utc b/cep_blueprints/_hak/prc_add_sb/zep_visagegr.utc new file mode 100644 index 0000000..56ae943 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_visagegr.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_visilight.utc b/cep_blueprints/_hak/prc_add_sb/zep_visilight.utc new file mode 100644 index 0000000..5c4e709 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_visilight.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vrock.utc b/cep_blueprints/_hak/prc_add_sb/zep_vrock.utc new file mode 100644 index 0000000..4e74eab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vrock.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_vulture001.utp b/cep_blueprints/_hak/prc_add_sb/zep_vulture001.utp new file mode 100644 index 0000000..c272c84 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_vulture001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wagon001.utp b/cep_blueprints/_hak/prc_add_sb/zep_wagon001.utp new file mode 100644 index 0000000..a87a3df Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wagon001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wagon002.utp b/cep_blueprints/_hak/prc_add_sb/zep_wagon002.utp new file mode 100644 index 0000000..7f4be0d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wagon002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wagon003.utp b/cep_blueprints/_hak/prc_add_sb/zep_wagon003.utp new file mode 100644 index 0000000..c7bc00d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wagon003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wagon004.utp b/cep_blueprints/_hak/prc_add_sb/zep_wagon004.utp new file mode 100644 index 0000000..bfbe805 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wagon004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wagon005.utp b/cep_blueprints/_hak/prc_add_sb/zep_wagon005.utp new file mode 100644 index 0000000..ff41dd7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wagon005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wagon006.utp b/cep_blueprints/_hak/prc_add_sb/zep_wagon006.utp new file mode 100644 index 0000000..083c626 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wagon006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wakizashi.uti b/cep_blueprints/_hak/prc_add_sb/zep_wakizashi.uti new file mode 100644 index 0000000..8cd9e43 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wakizashi.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wall001.utp b/cep_blueprints/_hak/prc_add_sb/zep_wall001.utp new file mode 100644 index 0000000..9acfa31 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wall001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wall002.utp b/cep_blueprints/_hak/prc_add_sb/zep_wall002.utp new file mode 100644 index 0000000..a8d0055 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wall002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wall003.utp b/cep_blueprints/_hak/prc_add_sb/zep_wall003.utp new file mode 100644 index 0000000..2bfb997 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wall003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wall004.utp b/cep_blueprints/_hak/prc_add_sb/zep_wall004.utp new file mode 100644 index 0000000..47f1452 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wall004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallaby_01.utc b/cep_blueprints/_hak/prc_add_sb/zep_wallaby_01.utc new file mode 100644 index 0000000..47bd809 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallaby_01.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallaby_02.utc b/cep_blueprints/_hak/prc_add_sb/zep_wallaby_02.utc new file mode 100644 index 0000000..2c139a6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallaby_02.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallaroo.utc b/cep_blueprints/_hak/prc_add_sb/zep_wallaroo.utc new file mode 100644 index 0000000..aa2434d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallaroo.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallaxe01.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallaxe01.utp new file mode 100644 index 0000000..fe46691 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallaxe01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallaxe02.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallaxe02.utp new file mode 100644 index 0000000..50f47ee Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallaxe02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallaxe03.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallaxe03.utp new file mode 100644 index 0000000..5c3b915 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallaxe03.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallbswd01.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallbswd01.utp new file mode 100644 index 0000000..5652f93 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallbswd01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallbswd02.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallbswd02.utp new file mode 100644 index 0000000..35586fe Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallbswd02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallbswd03.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallbswd03.utp new file mode 100644 index 0000000..82f148c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallbswd03.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallflag.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallflag.utp new file mode 100644 index 0000000..bb859fb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallflag.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallgswd01.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallgswd01.utp new file mode 100644 index 0000000..af1d0e8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallgswd01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallgswd02.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallgswd02.utp new file mode 100644 index 0000000..5277101 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallgswd02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallgswd03.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallgswd03.utp new file mode 100644 index 0000000..82343c6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallgswd03.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallhead001.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallhead001.utp new file mode 100644 index 0000000..dcad7de Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallhead001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallhead002.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallhead002.utp new file mode 100644 index 0000000..ccd1569 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallhead002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallhead003.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallhead003.utp new file mode 100644 index 0000000..bd490b0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallhead003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallhead004.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallhead004.utp new file mode 100644 index 0000000..b95e693 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallhead004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallhead005.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallhead005.utp new file mode 100644 index 0000000..a3c8786 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallhead005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallhead006.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallhead006.utp new file mode 100644 index 0000000..e58d32e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallhead006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallhead007.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallhead007.utp new file mode 100644 index 0000000..90b5cbc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallhead007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallhead008.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallhead008.utp new file mode 100644 index 0000000..3dc14ec Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallhead008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallhead009.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallhead009.utp new file mode 100644 index 0000000..72d0a29 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallhead009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallhead010.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallhead010.utp new file mode 100644 index 0000000..d73abb9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallhead010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallhead011.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallhead011.utp new file mode 100644 index 0000000..8f64207 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallhead011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallhead012.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallhead012.utp new file mode 100644 index 0000000..538c774 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallhead012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallhead013.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallhead013.utp new file mode 100644 index 0000000..d0f134a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallhead013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_walllswd01.utp b/cep_blueprints/_hak/prc_add_sb/zep_walllswd01.utp new file mode 100644 index 0000000..895901e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_walllswd01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_walllswd02.utp b/cep_blueprints/_hak/prc_add_sb/zep_walllswd02.utp new file mode 100644 index 0000000..0fb404d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_walllswd02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_walllswd03.utp b/cep_blueprints/_hak/prc_add_sb/zep_walllswd03.utp new file mode 100644 index 0000000..0bc5b02 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_walllswd03.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallskin001.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallskin001.utp new file mode 100644 index 0000000..11668ea Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallskin001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallskin002.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallskin002.utp new file mode 100644 index 0000000..7d7963f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallskin002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallskin003.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallskin003.utp new file mode 100644 index 0000000..1800743 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallskin003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallskin004.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallskin004.utp new file mode 100644 index 0000000..5997b71 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallskin004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallsswd01.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallsswd01.utp new file mode 100644 index 0000000..c883bc4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallsswd01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallstain001.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallstain001.utp new file mode 100644 index 0000000..485fe1d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallstain001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallstain002.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallstain002.utp new file mode 100644 index 0000000..ba4e531 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallstain002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallstain003.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallstain003.utp new file mode 100644 index 0000000..583fe04 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallstain003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallstain004.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallstain004.utp new file mode 100644 index 0000000..19f5913 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallstain004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallstain005.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallstain005.utp new file mode 100644 index 0000000..141e38d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallstain005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wallstain006.utp b/cep_blueprints/_hak/prc_add_sb/zep_wallstain006.utp new file mode 100644 index 0000000..7109e9e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wallstain006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_warmonk.uti b/cep_blueprints/_hak/prc_add_sb/zep_warmonk.uti new file mode 100644 index 0000000..cdb9bff Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_warmonk.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_warrhino.utc b/cep_blueprints/_hak/prc_add_sb/zep_warrhino.utc new file mode 100644 index 0000000..adebadf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_warrhino.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wasp.utc b/cep_blueprints/_hak/prc_add_sb/zep_wasp.utc new file mode 100644 index 0000000..131c8df Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wasp.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_water001.utp b/cep_blueprints/_hak/prc_add_sb/zep_water001.utp new file mode 100644 index 0000000..9c65750 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_water001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_water002.utp b/cep_blueprints/_hak/prc_add_sb/zep_water002.utp new file mode 100644 index 0000000..45aa63f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_water002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_water003.utp b/cep_blueprints/_hak/prc_add_sb/zep_water003.utp new file mode 100644 index 0000000..07b2cd5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_water003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_water004.utp b/cep_blueprints/_hak/prc_add_sb/zep_water004.utp new file mode 100644 index 0000000..00c9bfb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_water004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_water005.utp b/cep_blueprints/_hak/prc_add_sb/zep_water005.utp new file mode 100644 index 0000000..27ad696 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_water005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_water006.utp b/cep_blueprints/_hak/prc_add_sb/zep_water006.utp new file mode 100644 index 0000000..a22f9e0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_water006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_water007.utp b/cep_blueprints/_hak/prc_add_sb/zep_water007.utp new file mode 100644 index 0000000..378599b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_water007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_water008.utp b/cep_blueprints/_hak/prc_add_sb/zep_water008.utp new file mode 100644 index 0000000..94122c2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_water008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_water009.utp b/cep_blueprints/_hak/prc_add_sb/zep_water009.utp new file mode 100644 index 0000000..234cd04 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_water009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_water010.utp b/cep_blueprints/_hak/prc_add_sb/zep_water010.utp new file mode 100644 index 0000000..0214e69 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_water010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_water011.utp b/cep_blueprints/_hak/prc_add_sb/zep_water011.utp new file mode 100644 index 0000000..521bf76 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_water011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_water012.utp b/cep_blueprints/_hak/prc_add_sb/zep_water012.utp new file mode 100644 index 0000000..218d7ef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_water012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_waterfall001.utp b/cep_blueprints/_hak/prc_add_sb/zep_waterfall001.utp new file mode 100644 index 0000000..cc33e99 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_waterfall001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_waterpipe.utp b/cep_blueprints/_hak/prc_add_sb/zep_waterpipe.utp new file mode 100644 index 0000000..9a5419d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_waterpipe.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wdchppingblc.utp b/cep_blueprints/_hak/prc_add_sb/zep_wdchppingblc.utp new file mode 100644 index 0000000..7778df0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wdchppingblc.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wdeerdoe_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_wdeerdoe_001.utc new file mode 100644 index 0000000..cff38da Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wdeerdoe_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wdeerfn_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_wdeerfn_001.utc new file mode 100644 index 0000000..651032a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wdeerfn_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wdklrd_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_wdklrd_001.uti new file mode 100644 index 0000000..d6ef196 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wdklrd_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wdlantrn002.utp b/cep_blueprints/_hak/prc_add_sb/zep_wdlantrn002.utp new file mode 100644 index 0000000..3ebebd0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wdlantrn002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_weaponrck001.utp b/cep_blueprints/_hak/prc_add_sb/zep_weaponrck001.utp new file mode 100644 index 0000000..06d12b7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_weaponrck001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_weaponrck002.utp b/cep_blueprints/_hak/prc_add_sb/zep_weaponrck002.utp new file mode 100644 index 0000000..00029ab Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_weaponrck002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_weasel.utc b/cep_blueprints/_hak/prc_add_sb/zep_weasel.utc new file mode 100644 index 0000000..f84f0f6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_weasel.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_well001.utp b/cep_blueprints/_hak/prc_add_sb/zep_well001.utp new file mode 100644 index 0000000..36f84c0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_well001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wemic1.utc b/cep_blueprints/_hak/prc_add_sb/zep_wemic1.utc new file mode 100644 index 0000000..7088ef7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wemic1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wemic2.utc b/cep_blueprints/_hak/prc_add_sb/zep_wemic2.utc new file mode 100644 index 0000000..71a2f46 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wemic2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wemicf2.utc b/cep_blueprints/_hak/prc_add_sb/zep_wemicf2.utc new file mode 100644 index 0000000..a004d39 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wemicf2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wemicm2.utc b/cep_blueprints/_hak/prc_add_sb/zep_wemicm2.utc new file mode 100644 index 0000000..55cab7d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wemicm2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wendigo.utc b/cep_blueprints/_hak/prc_add_sb/zep_wendigo.utc new file mode 100644 index 0000000..45066b7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wendigo.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_werebat.utc b/cep_blueprints/_hak/prc_add_sb/zep_werebat.utc new file mode 100644 index 0000000..8c6ed74 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_werebat.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_werebatb1.utc b/cep_blueprints/_hak/prc_add_sb/zep_werebatb1.utc new file mode 100644 index 0000000..a2deb73 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_werebatb1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_werebatb2.utc b/cep_blueprints/_hak/prc_add_sb/zep_werebatb2.utc new file mode 100644 index 0000000..51f44c8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_werebatb2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_werebear.utc b/cep_blueprints/_hak/prc_add_sb/zep_werebear.utc new file mode 100644 index 0000000..aef4017 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_werebear.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wereboar.utc b/cep_blueprints/_hak/prc_add_sb/zep_wereboar.utc new file mode 100644 index 0000000..9b6a99a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wereboar.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_werecroc.utc b/cep_blueprints/_hak/prc_add_sb/zep_werecroc.utc new file mode 100644 index 0000000..83270b7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_werecroc.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_werefrog.utc b/cep_blueprints/_hak/prc_add_sb/zep_werefrog.utc new file mode 100644 index 0000000..21117cb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_werefrog.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_werejag_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_werejag_001.utc new file mode 100644 index 0000000..b05521e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_werejag_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wereleopard.utc b/cep_blueprints/_hak/prc_add_sb/zep_wereleopard.utc new file mode 100644 index 0000000..03bb096 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wereleopard.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_werepuma.utc b/cep_blueprints/_hak/prc_add_sb/zep_werepuma.utc new file mode 100644 index 0000000..197bda5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_werepuma.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wererata.utc b/cep_blueprints/_hak/prc_add_sb/zep_wererata.utc new file mode 100644 index 0000000..bbfd592 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wererata.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wereratg.utc b/cep_blueprints/_hak/prc_add_sb/zep_wereratg.utc new file mode 100644 index 0000000..043676b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wereratg.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_werewolf_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_werewolf_001.utc new file mode 100644 index 0000000..f7fd549 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_werewolf_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_werewolfr1.utc b/cep_blueprints/_hak/prc_add_sb/zep_werewolfr1.utc new file mode 100644 index 0000000..15e9768 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_werewolfr1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_werewolfr2.utc b/cep_blueprints/_hak/prc_add_sb/zep_werewolfr2.utc new file mode 100644 index 0000000..bf45b0c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_werewolfr2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_werewolfr3.utc b/cep_blueprints/_hak/prc_add_sb/zep_werewolfr3.utc new file mode 100644 index 0000000..bdcf5ca Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_werewolfr3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wetbs_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_wetbs_001.uti new file mode 100644 index 0000000..4d2b7cf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wetbs_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wheelbarrel.utp b/cep_blueprints/_hak/prc_add_sb/zep_wheelbarrel.utp new file mode 100644 index 0000000..77af044 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wheelbarrel.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_whitebishop.utp b/cep_blueprints/_hak/prc_add_sb/zep_whitebishop.utp new file mode 100644 index 0000000..abc1bcb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_whitebishop.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_whitebshp001.utp b/cep_blueprints/_hak/prc_add_sb/zep_whitebshp001.utp new file mode 100644 index 0000000..29568a5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_whitebshp001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_whitekght001.utp b/cep_blueprints/_hak/prc_add_sb/zep_whitekght001.utp new file mode 100644 index 0000000..5619bd4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_whitekght001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_whiteking.utp b/cep_blueprints/_hak/prc_add_sb/zep_whiteking.utp new file mode 100644 index 0000000..365b4d7 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_whiteking.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_whiteking001.utp b/cep_blueprints/_hak/prc_add_sb/zep_whiteking001.utp new file mode 100644 index 0000000..f82816a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_whiteking001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_whiteknight.utp b/cep_blueprints/_hak/prc_add_sb/zep_whiteknight.utp new file mode 100644 index 0000000..901c1ef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_whiteknight.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_whitepawn.utp b/cep_blueprints/_hak/prc_add_sb/zep_whitepawn.utp new file mode 100644 index 0000000..e00b5a3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_whitepawn.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_whitepawn001.utp b/cep_blueprints/_hak/prc_add_sb/zep_whitepawn001.utp new file mode 100644 index 0000000..fcabf50 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_whitepawn001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_whitepuddl.utc b/cep_blueprints/_hak/prc_add_sb/zep_whitepuddl.utc new file mode 100644 index 0000000..dc848a6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_whitepuddl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_whitepuddm.utc b/cep_blueprints/_hak/prc_add_sb/zep_whitepuddm.utc new file mode 100644 index 0000000..2b5c92b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_whitepuddm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_whitepudds.utc b/cep_blueprints/_hak/prc_add_sb/zep_whitepudds.utc new file mode 100644 index 0000000..9761863 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_whitepudds.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_whitequeen.utp b/cep_blueprints/_hak/prc_add_sb/zep_whitequeen.utp new file mode 100644 index 0000000..e441c98 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_whitequeen.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_whitequen001.utp b/cep_blueprints/_hak/prc_add_sb/zep_whitequen001.utp new file mode 100644 index 0000000..80c27a6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_whitequen001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_whiterook.utp b/cep_blueprints/_hak/prc_add_sb/zep_whiterook.utp new file mode 100644 index 0000000..6495449 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_whiterook.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_whiterook001.utp b/cep_blueprints/_hak/prc_add_sb/zep_whiterook001.utp new file mode 100644 index 0000000..0470a3d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_whiterook001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_willowisp1.utc b/cep_blueprints/_hak/prc_add_sb/zep_willowisp1.utc new file mode 100644 index 0000000..68e4aef Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_willowisp1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_willowisp2.utc b/cep_blueprints/_hak/prc_add_sb/zep_willowisp2.utc new file mode 100644 index 0000000..c76fb41 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_willowisp2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_willowisp3.utc b/cep_blueprints/_hak/prc_add_sb/zep_willowisp3.utc new file mode 100644 index 0000000..6e28187 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_willowisp3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_willowisp4.utc b/cep_blueprints/_hak/prc_add_sb/zep_willowisp4.utc new file mode 100644 index 0000000..24b873d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_willowisp4.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_willowisp5.utc b/cep_blueprints/_hak/prc_add_sb/zep_willowisp5.utc new file mode 100644 index 0000000..917ba48 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_willowisp5.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_windfire.uti b/cep_blueprints/_hak/prc_add_sb/zep_windfire.uti new file mode 100644 index 0000000..bcdc545 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_windfire.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_window001.utp b/cep_blueprints/_hak/prc_add_sb/zep_window001.utp new file mode 100644 index 0000000..c2c3db2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_window001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_window002.utp b/cep_blueprints/_hak/prc_add_sb/zep_window002.utp new file mode 100644 index 0000000..9d5b536 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_window002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_window003.utp b/cep_blueprints/_hak/prc_add_sb/zep_window003.utp new file mode 100644 index 0000000..0f57ef3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_window003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_window004.utp b/cep_blueprints/_hak/prc_add_sb/zep_window004.utp new file mode 100644 index 0000000..078a3fa Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_window004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_window005.utp b/cep_blueprints/_hak/prc_add_sb/zep_window005.utp new file mode 100644 index 0000000..87ec448 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_window005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_window006.utp b/cep_blueprints/_hak/prc_add_sb/zep_window006.utp new file mode 100644 index 0000000..8778bb4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_window006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_window007.utp b/cep_blueprints/_hak/prc_add_sb/zep_window007.utp new file mode 100644 index 0000000..4374d87 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_window007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_window008.utp b/cep_blueprints/_hak/prc_add_sb/zep_window008.utp new file mode 100644 index 0000000..bc1301f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_window008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_window009.utp b/cep_blueprints/_hak/prc_add_sb/zep_window009.utp new file mode 100644 index 0000000..3378ce0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_window009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wingchundmmy.utp b/cep_blueprints/_hak/prc_add_sb/zep_wingchundmmy.utp new file mode 100644 index 0000000..59d380f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wingchundmmy.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wingedhelm.uti b/cep_blueprints/_hak/prc_add_sb/zep_wingedhelm.uti new file mode 100644 index 0000000..d12f31f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wingedhelm.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wizrobes.uti b/cep_blueprints/_hak/prc_add_sb/zep_wizrobes.uti new file mode 100644 index 0000000..ff00dc5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wizrobes.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wolbw_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_wolbw_001.uti new file mode 100644 index 0000000..ef2e951 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wolbw_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wolfcave001.utp b/cep_blueprints/_hak/prc_add_sb/zep_wolfcave001.utp new file mode 100644 index 0000000..24974ff Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wolfcave001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wolverine.utc b/cep_blueprints/_hak/prc_add_sb/zep_wolverine.utc new file mode 100644 index 0000000..32b5790 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wolverine.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_womanrock.utp b/cep_blueprints/_hak/prc_add_sb/zep_womanrock.utp new file mode 100644 index 0000000..f839a98 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_womanrock.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_woodawn01.utp b/cep_blueprints/_hak/prc_add_sb/zep_woodawn01.utp new file mode 100644 index 0000000..6e64e19 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_woodawn01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_woodawn02.utp b/cep_blueprints/_hak/prc_add_sb/zep_woodawn02.utp new file mode 100644 index 0000000..867b98f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_woodawn02.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_woodbowl001.utp b/cep_blueprints/_hak/prc_add_sb/zep_woodbowl001.utp new file mode 100644 index 0000000..4b4d647 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_woodbowl001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_woodpile01.utp b/cep_blueprints/_hak/prc_add_sb/zep_woodpile01.utp new file mode 100644 index 0000000..f1c3ba0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_woodpile01.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_worg.utc b/cep_blueprints/_hak/prc_add_sb/zep_worg.utc new file mode 100644 index 0000000..aec4785 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_worg.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wpnbsw_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_wpnbsw_001.uti new file mode 100644 index 0000000..783416f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wpnbsw_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wpngsw_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_wpngsw_001.uti new file mode 100644 index 0000000..13a4aa8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wpngsw_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wpnhlb_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_wpnhlb_001.uti new file mode 100644 index 0000000..75ddf03 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wpnhlb_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wpnssp_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_wpnssp_001.uti new file mode 100644 index 0000000..26b1f39 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wpnssp_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wpnssp_002.uti b/cep_blueprints/_hak/prc_add_sb/zep_wpnssp_002.uti new file mode 100644 index 0000000..c832fd8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wpnssp_002.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wpnssp_003.uti b/cep_blueprints/_hak/prc_add_sb/zep_wpnssp_003.uti new file mode 100644 index 0000000..b5e8d09 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wpnssp_003.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wpnssw_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_wpnssw_001.uti new file mode 100644 index 0000000..9d39612 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wpnssw_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wpnssw_002.uti b/cep_blueprints/_hak/prc_add_sb/zep_wpnssw_002.uti new file mode 100644 index 0000000..ae535e3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wpnssw_002.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wraith1.utc b/cep_blueprints/_hak/prc_add_sb/zep_wraith1.utc new file mode 100644 index 0000000..6777cf0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wraith1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wraith2.utc b/cep_blueprints/_hak/prc_add_sb/zep_wraith2.utc new file mode 100644 index 0000000..efcb8bb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wraith2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrgmount_die.ncs b/cep_blueprints/_hak/prc_add_sb/zep_wrgmount_die.ncs new file mode 100644 index 0000000..d0e55f5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrgmount_die.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrgmount_die.nss b/cep_blueprints/_hak/prc_add_sb/zep_wrgmount_die.nss new file mode 100644 index 0000000..4aeb519 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zep_wrgmount_die.nss @@ -0,0 +1,52 @@ +//:://///////////////////////////////////////////// +//:: Default:On Death +//:: NW_C2_DEFAULT7 +//:: Copyright (c) 2001 Bioware Corp. +//::////////////////////////////////////////////// +/* + Shouts to allies that they have been killed +*/ +//::////////////////////////////////////////////// +//:: Created By: Preston Watamaniuk +//:: Created On: Oct 25, 2001 +//::////////////////////////////////////////////// +#include "NW_I0_GENERIC" + +void main() +{ + int nClass = GetLevelByClass(CLASS_TYPE_COMMONER); + int nAlign = GetAlignmentGoodEvil(OBJECT_SELF); + if(nClass > 0 && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL)) + { + object oKiller = GetLastKiller(); + AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5); + } + + SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK); + //Shout Attack my target, only works with the On Spawn In setup + SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK); + if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT)) + { + SignalEvent(OBJECT_SELF, EventUserDefined(1007)); + } + //////////////////////////////// +// Goblin Worg Rider stuff +///////////////////////////////// + + + +// Get position and facing of Worg and set spawn point for the Goblin + vector vWorg = GetPosition(OBJECT_SELF); + float fAngle = GetFacing(OBJECT_SELF); + location lGoblin; + vector vChange; + object oArea = GetArea(OBJECT_SELF); + vChange.x = cos(fAngle) * 1.0; + lGoblin = Location(oArea, vWorg+vChange, fAngle); + + +// Spawn the goblin because the worg has died + effect eKnockdwn = ExtraordinaryEffect(EffectKnockdown()); + object oSpawn = CreateObject(OBJECT_TYPE_CREATURE,"nw_goblina",lGoblin,FALSE); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eKnockdwn, oSpawn, 2.0); +} diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm.utp new file mode 100644 index 0000000..07498ba Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm001.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm001.utp new file mode 100644 index 0000000..69f4941 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm001.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm002.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm002.utp new file mode 100644 index 0000000..2798057 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm002.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm003.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm003.utp new file mode 100644 index 0000000..da35f76 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm003.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm004.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm004.utp new file mode 100644 index 0000000..3e9e9cf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm004.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm005.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm005.utp new file mode 100644 index 0000000..278aa2f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm005.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm006.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm006.utp new file mode 100644 index 0000000..504061d Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm006.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm007.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm007.utp new file mode 100644 index 0000000..ef3f096 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm007.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm008.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm008.utp new file mode 100644 index 0000000..1628fc5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm008.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm009.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm009.utp new file mode 100644 index 0000000..a7fd2f2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm009.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm010.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm010.utp new file mode 100644 index 0000000..cd44411 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm010.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm011.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm011.utp new file mode 100644 index 0000000..35869e9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm011.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm012.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm012.utp new file mode 100644 index 0000000..2859fac Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm012.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm013.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm013.utp new file mode 100644 index 0000000..4b85bbf Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm013.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm014.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm014.utp new file mode 100644 index 0000000..ddfba02 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm014.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm015.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm015.utp new file mode 100644 index 0000000..8cfbc37 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm015.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm016.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm016.utp new file mode 100644 index 0000000..838d6cd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm016.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm017.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm017.utp new file mode 100644 index 0000000..b2a2114 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm017.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm018.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm018.utp new file mode 100644 index 0000000..a9b77d2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm018.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm019.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm019.utp new file mode 100644 index 0000000..7b01957 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm019.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm020.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm020.utp new file mode 100644 index 0000000..59c5dac Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm020.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm021.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm021.utp new file mode 100644 index 0000000..de7370e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm021.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm022.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm022.utp new file mode 100644 index 0000000..9fcc0b9 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm022.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm023.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm023.utp new file mode 100644 index 0000000..c5f127f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm023.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wrm024.utp b/cep_blueprints/_hak/prc_add_sb/zep_wrm024.utp new file mode 100644 index 0000000..239add6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wrm024.utp differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wspiderg.utc b/cep_blueprints/_hak/prc_add_sb/zep_wspiderg.utc new file mode 100644 index 0000000..4845416 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wspiderg.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wspiderl.utc b/cep_blueprints/_hak/prc_add_sb/zep_wspiderl.utc new file mode 100644 index 0000000..fa74b21 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wspiderl.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wspiderm.utc b/cep_blueprints/_hak/prc_add_sb/zep_wspiderm.utc new file mode 100644 index 0000000..9c94ca3 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wspiderm.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wspiders.utc b/cep_blueprints/_hak/prc_add_sb/zep_wspiders.utc new file mode 100644 index 0000000..19a8d8b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wspiders.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_wspidert.utc b/cep_blueprints/_hak/prc_add_sb/zep_wspidert.utc new file mode 100644 index 0000000..ee964cd Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_wspidert.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xblma_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_xblma_001.uti new file mode 100644 index 0000000..4a9c8c5 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xblma_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xblma_002.uti b/cep_blueprints/_hak/prc_add_sb/zep_xblma_002.uti new file mode 100644 index 0000000..ab6d255 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xblma_002.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xblma_003.uti b/cep_blueprints/_hak/prc_add_sb/zep_xblma_003.uti new file mode 100644 index 0000000..c53ff3c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xblma_003.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xblma_004.uti b/cep_blueprints/_hak/prc_add_sb/zep_xblma_004.uti new file mode 100644 index 0000000..4e6ee30 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xblma_004.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xblmh_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_xblmh_001.uti new file mode 100644 index 0000000..d3f1555 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xblmh_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xblmh_002.uti b/cep_blueprints/_hak/prc_add_sb/zep_xblmh_002.uti new file mode 100644 index 0000000..11f3553 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xblmh_002.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xblmh_003.uti b/cep_blueprints/_hak/prc_add_sb/zep_xblmh_003.uti new file mode 100644 index 0000000..5d7f2db Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xblmh_003.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xblmh_004.uti b/cep_blueprints/_hak/prc_add_sb/zep_xblmh_004.uti new file mode 100644 index 0000000..cac978e Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xblmh_004.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xblmh_005.uti b/cep_blueprints/_hak/prc_add_sb/zep_xblmh_005.uti new file mode 100644 index 0000000..592ddc4 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xblmh_005.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xdbsc_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_xdbsc_001.uti new file mode 100644 index 0000000..941b258 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xdbsc_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xdbsc_002.uti b/cep_blueprints/_hak/prc_add_sb/zep_xdbsc_002.uti new file mode 100644 index 0000000..e5e263f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xdbsc_002.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xdbsc_003.uti b/cep_blueprints/_hak/prc_add_sb/zep_xdbsc_003.uti new file mode 100644 index 0000000..bad82fc Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xdbsc_003.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xdbsc_004.uti b/cep_blueprints/_hak/prc_add_sb/zep_xdbsc_004.uti new file mode 100644 index 0000000..567e53b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xdbsc_004.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xswfa_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_xswfa_001.uti new file mode 100644 index 0000000..4f4b693 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xswfa_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xswfa_002.uti b/cep_blueprints/_hak/prc_add_sb/zep_xswfa_002.uti new file mode 100644 index 0000000..2be1b78 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xswfa_002.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xswfa_003.uti b/cep_blueprints/_hak/prc_add_sb/zep_xswfa_003.uti new file mode 100644 index 0000000..6518a2f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xswfa_003.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xswfa_004.uti b/cep_blueprints/_hak/prc_add_sb/zep_xswfa_004.uti new file mode 100644 index 0000000..9aeb309 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xswfa_004.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xswfa_005.uti b/cep_blueprints/_hak/prc_add_sb/zep_xswfa_005.uti new file mode 100644 index 0000000..78554f6 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xswfa_005.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xswgs_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_xswgs_001.uti new file mode 100644 index 0000000..e0e9b8a Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xswgs_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_xswml_001.uti b/cep_blueprints/_hak/prc_add_sb/zep_xswml_001.uti new file mode 100644 index 0000000..f139e13 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_xswml_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_yagnoloth.utc b/cep_blueprints/_hak/prc_add_sb/zep_yagnoloth.utc new file mode 100644 index 0000000..6569414 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_yagnoloth.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_yari.uti b/cep_blueprints/_hak/prc_add_sb/zep_yari.uti new file mode 100644 index 0000000..5207ba0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_yari.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_yeti1.utc b/cep_blueprints/_hak/prc_add_sb/zep_yeti1.utc new file mode 100644 index 0000000..5efbfbb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_yeti1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_yeti2.utc b/cep_blueprints/_hak/prc_add_sb/zep_yeti2.utc new file mode 100644 index 0000000..8dd2a22 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_yeti2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_yeti3.utc b/cep_blueprints/_hak/prc_add_sb/zep_yeti3.utc new file mode 100644 index 0000000..d937edb Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_yeti3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_yuantia1.utc b/cep_blueprints/_hak/prc_add_sb/zep_yuantia1.utc new file mode 100644 index 0000000..02a118c Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_yuantia1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_yuantia2.utc b/cep_blueprints/_hak/prc_add_sb/zep_yuantia2.utc new file mode 100644 index 0000000..977a3c0 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_yuantia2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_zebra_001.utc b/cep_blueprints/_hak/prc_add_sb/zep_zebra_001.utc new file mode 100644 index 0000000..7000f89 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_zebra_001.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_zebrahide.uti b/cep_blueprints/_hak/prc_add_sb/zep_zebrahide.uti new file mode 100644 index 0000000..b76863f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_zebrahide.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_zombpir1.utc b/cep_blueprints/_hak/prc_add_sb/zep_zombpir1.utc new file mode 100644 index 0000000..e1fe0d8 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_zombpir1.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_zombpir2.utc b/cep_blueprints/_hak/prc_add_sb/zep_zombpir2.utc new file mode 100644 index 0000000..f645d23 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_zombpir2.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_zombpir3.utc b/cep_blueprints/_hak/prc_add_sb/zep_zombpir3.utc new file mode 100644 index 0000000..4d576fe Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_zombpir3.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zep_zombpir5.utc b/cep_blueprints/_hak/prc_add_sb/zep_zombpir5.utc new file mode 100644 index 0000000..a4d26d2 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zep_zombpir5.utc differ diff --git a/cep_blueprints/_hak/prc_add_sb/zmal_pcl_list.ncs b/cep_blueprints/_hak/prc_add_sb/zmal_pcl_list.ncs new file mode 100644 index 0000000..5822d9b Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zmal_pcl_list.ncs differ diff --git a/cep_blueprints/_hak/prc_add_sb/zmal_pcl_list.nss b/cep_blueprints/_hak/prc_add_sb/zmal_pcl_list.nss new file mode 100644 index 0000000..2155dd3 --- /dev/null +++ b/cep_blueprints/_hak/prc_add_sb/zmal_pcl_list.nss @@ -0,0 +1,88 @@ +//:://///////////////////////////////////////////// +//:: FileName s_pcl_list +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: Scott Thorne +//:: Updated On: 08/27/2002 +//::////////////////////////////////////////////// + +// +string GetClassLevels(object oPC) +{ + string sClassLevels = ""; + int iClsIdx; + int iClsType; + string sClsName; + int iClsLvl; + + for (iClsIdx = 1; iClsIdx <= 3; iClsIdx++) + { + iClsType = GetClassByPosition(iClsIdx, oPC); + if (iClsType != CLASS_TYPE_INVALID) + { sClsName = GetStringByStrRef(StringToInt(Get2DAString("classes", "Name", iClsType)), GetGender(oPC)); + iClsLvl = GetLevelByClass(iClsType, oPC); + if (sClassLevels != "") + sClassLevels += "/"; + sClassLevels += sClsName + " " + IntToString(iClsLvl); + } + } + return(sClassLevels + " "); +} + +// +void main() +{ + object oUser = GetPCSpeaker(); + if (GetIsPC(OBJECT_SELF)) + { oUser = OBJECT_SELF; } + int iPCTot = 0; /* total PC's */ + int iPCVis = 0; /* total non-anon (visible) PC's */ + string sPCName; + string sPCArea; + string sPCLevel; + string sPCClass; + string sPCLFG; + string sPCAFK; + string sMessage; + object oPC = GetFirstPC(); + + while (GetIsObjectValid(oPC)) + { + if (!GetIsDM(oPC)) + { + sPCName = ""; + sPCArea = ""; + sPCLevel = ""; + sPCClass = ""; + sPCLFG = ""; + sPCAFK = ""; + sMessage = ""; + // + iPCTot++; + /* skip anonymous PC's */ + if (GetLocalInt(oPC, "PCL_ANON") != 1) + { + iPCVis++; + sPCName = GetName(oPC) + " "; + sPCArea = "(" + GetTag(GetArea(oPC)) + ") "; + sPCLevel = "L" + IntToString(GetHitDice(oPC)) + " "; + // + if (GetLocalInt(oPC, "PCL_HIDE_CLASS") != 1) + sPCClass = GetClassLevels(oPC); + // + if (GetLocalInt(oPC,"PCL_LFG") == 1) + sPCLFG = "*LFG* "; + // + if (GetLocalInt(oPC,"PCL_AFK") == 1) + sPCAFK = " "; + // + sMessage = sPCName + sPCArea + sPCClass + sPCAFK + sPCLevel + sPCLFG; + SendMessageToPC(oUser, sMessage); + } + } + oPC = GetNextPC(); + } + sMessage = "[ " + IntToString(iPCVis) + " out of " + IntToString(iPCTot) + " PC's displayed ]"; + SendMessageToPC(oUser, sMessage); +} + diff --git a/cep_blueprints/_hak/prc_add_sb/zp_abishbt_001.uti b/cep_blueprints/_hak/prc_add_sb/zp_abishbt_001.uti new file mode 100644 index 0000000..06d8a60 Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zp_abishbt_001.uti differ diff --git a/cep_blueprints/_hak/prc_add_sb/zp_abishcl_001.uti b/cep_blueprints/_hak/prc_add_sb/zp_abishcl_001.uti new file mode 100644 index 0000000..4ac559f Binary files /dev/null and b/cep_blueprints/_hak/prc_add_sb/zp_abishcl_001.uti differ diff --git a/cep_blueprints/_tools/NWN.CLI.exe b/cep_blueprints/_tools/NWN.CLI.exe new file mode 100644 index 0000000..67fdd29 Binary files /dev/null and b/cep_blueprints/_tools/NWN.CLI.exe differ diff --git a/cep_blueprints/_tools/NWN_compDcomp.exe b/cep_blueprints/_tools/NWN_compDcomp.exe new file mode 100644 index 0000000..18253e0 Binary files /dev/null and b/cep_blueprints/_tools/NWN_compDcomp.exe differ diff --git a/cep_blueprints/_tools/cygiconv-2.dll b/cep_blueprints/_tools/cygiconv-2.dll new file mode 100644 index 0000000..926464c Binary files /dev/null and b/cep_blueprints/_tools/cygiconv-2.dll differ diff --git a/cep_blueprints/_tools/cygintl-2.dll b/cep_blueprints/_tools/cygintl-2.dll new file mode 100644 index 0000000..aef3a8c Binary files /dev/null and b/cep_blueprints/_tools/cygintl-2.dll differ diff --git a/cep_blueprints/_tools/cygintl-3.dll b/cep_blueprints/_tools/cygintl-3.dll new file mode 100644 index 0000000..bd6e382 Binary files /dev/null and b/cep_blueprints/_tools/cygintl-3.dll differ diff --git a/cep_blueprints/_tools/cygintl-8.dll b/cep_blueprints/_tools/cygintl-8.dll new file mode 100644 index 0000000..e636367 Binary files /dev/null and b/cep_blueprints/_tools/cygintl-8.dll differ diff --git a/cep_blueprints/_tools/cygpcre-0.dll b/cep_blueprints/_tools/cygpcre-0.dll new file mode 100644 index 0000000..eb68c8d Binary files /dev/null and b/cep_blueprints/_tools/cygpcre-0.dll differ diff --git a/cep_blueprints/_tools/cygwin1.dll b/cep_blueprints/_tools/cygwin1.dll new file mode 100644 index 0000000..7fd577c Binary files /dev/null and b/cep_blueprints/_tools/cygwin1.dll differ diff --git a/cep_blueprints/_tools/cygxml2-2.dll b/cep_blueprints/_tools/cygxml2-2.dll new file mode 100644 index 0000000..11baa98 Binary files /dev/null and b/cep_blueprints/_tools/cygxml2-2.dll differ diff --git a/cep_blueprints/_tools/cygz.dll b/cep_blueprints/_tools/cygz.dll new file mode 100644 index 0000000..c94d66c Binary files /dev/null and b/cep_blueprints/_tools/cygz.dll differ diff --git a/cep_blueprints/_tools/hakbuilder.json b/cep_blueprints/_tools/hakbuilder.json new file mode 100644 index 0000000..43f1cac --- /dev/null +++ b/cep_blueprints/_tools/hakbuilder.json @@ -0,0 +1,10 @@ +{ + "OutputPath": "../output/", + "HakList": [ + { + "Name": "prc_add_sb", + "Path": "../_hak/prc_add_sb/", + "CompileModels": false + }, + ] +} diff --git a/cep_blueprints/_tools/nwn_erf.exe b/cep_blueprints/_tools/nwn_erf.exe new file mode 100644 index 0000000..1dba285 Binary files /dev/null and b/cep_blueprints/_tools/nwn_erf.exe differ diff --git a/cep_blueprints/_tools/nwnmdlcomp.exe b/cep_blueprints/_tools/nwnmdlcomp.exe new file mode 100644 index 0000000..4cdc440 Binary files /dev/null and b/cep_blueprints/_tools/nwnmdlcomp.exe differ diff --git a/cep_blueprints/_tools/pcre64.dll b/cep_blueprints/_tools/pcre64.dll new file mode 100644 index 0000000..40b4ac3 Binary files /dev/null and b/cep_blueprints/_tools/pcre64.dll differ diff --git a/cep_blueprints/_tools/tlk2xml.exe b/cep_blueprints/_tools/tlk2xml.exe new file mode 100644 index 0000000..27a49be Binary files /dev/null and b/cep_blueprints/_tools/tlk2xml.exe differ diff --git a/cep_blueprints/_tools/xml2tlk.exe b/cep_blueprints/_tools/xml2tlk.exe new file mode 100644 index 0000000..a729ab4 Binary files /dev/null and b/cep_blueprints/_tools/xml2tlk.exe differ