Jump to content


Photo

Boromir Last stance ability


  • Please log in to reply
90 replies to this topic

#1 sporting1986

sporting1986

    Aragorn Elessar

  • Members
  • 526 posts
  • Location:Lisboa Portugal
  •  A newbie i am not, yet much to learn i still have

Posted 09 December 2008 - 04:02 AM

I saw in boromir experiencelevels that he was meant to have an ability called last stand,then i check boromir.ini and i saw refereces to this hability and many of the code was commented,so i uncommment his code in boromir ini in command.ini then check it was already an upgrade so i tried and two strange things happens when he reaches level 3 he gains leadership that was meant to gain only at level 5 and the new last stand hability that is something like invulnerabilty then when his life reaches 0 i can not control him anymore ;)
i wish i could insert the code better but here it goes
boromir.ini

commandbutton.ini
[codebox];------------------------------------------------------------------------------

;

; Boromir.ini

;

;------------------------------------------------------------------------------



; Boromir

Object GondorBoromir

; *** ART Parameters ***



; SelectPortrait for Heros is portrait behind skill buttons. HP = HeroPortrait.

SelectPortrait = HPBorimir



; ButtonImage for Heros is button image on Hero Select UI to select hero. HI = HeroIcon or HeroImage.

ButtonImage = HIBorimir



DescriptionStrategic = CONTROLBAR:LW_ToolTip_Boromir



Draw = W3DScriptedModelDraw ModuleTag_DRAW



StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD



OkToChangeModelColor = Yes



DefaultModelConditionState

Model = GUBoromir_SKN

End

; --- Idle Anims

IdleAnimationState

StateName = Idle

Animation = IDLA

AnimationName = GUBoromir_SKL.GUBoromir_IDLA 0 15

AnimationMode = ONCE

End

Animation = IDLB

AnimationName = GUBoromir_SKL.GUBoromir_IDLB

AnimationMode = ONCE

AnimationPriority = 20

End

Animation = IDLD

AnimationName = GUBoromir_SKL.GUBoromir_IDLD

AnimationMode = ONCE

AnimationPriority = 1

End

BeginScript

Prev = CurDrawablePrevAnimationState()

if Prev == "Selected" then CurDrawableSetTransitionAnimState("TRANS_Selected_To_Idle") end

EndScript

End



TransitionState = Trans_None_To_Sword

Animation = GUBoromir_STHA

AnimationName = GUBoromir_SKL.GUBoromir_STHA ;

AnimationMode = ONCE

End

End

TransitionState = Trans_Sword_To_None

Animation = GUBoromir_STHB

AnimationName = GUBoromir_SKL.GUBoromir_STHB ;

AnimationMode = ONCE

End

End



AnimationState = STUNNED_FLAILING

Flags = RANDOMSTART

Animation = GUBoromir_FLYA

AnimationName = GUBoromir_SKL.GUBoromir_FLYA

AnimationMode = LOOP

End

End





; --- Dying anims



AnimationState = DYING SPLATTED

Animation = GUBoromir_LNDA

AnimationName = GUBoromir_SKL.GUBoromir_LNDA

AnimationMode = ONCE

End

End

AnimationState = DYING AFLAME

Animation = DieAflame

AnimationName = GUBoromir_SKL.GUBoromir_MFDA

AnimationMode = LOOP

End

End

AnimationState = DYING

Animation = GUBoromir_DTHA

AnimationName = GUBoromir_SKL.GUBoromir_DTHA

AnimationMode = ONCE

End

End



AnimationState = PARALYZED

Animation

AnimationName = GUBoromir_IDLB

AnimationMode = LOOP

End

End



; --- Stunned anims

AnimationState = STUNNED_STANDING_UP

Animation = GUBoromir_GTPA

AnimationName = GUBoromir_SKL.GUBoromir_GTPA

AnimationMode = ONCE

AnimationSpeedFactorRange = 1.3 1.3

End

End

AnimationState = STUNNED

Animation = GUBoromir_LNDA

AnimationName = GUBoromir_SKL.GUBoromir_LNDA

AnimationMode = ONCE

End

End



AnimationState = PACKING_TYPE_2

StateName = CaptainPower

Animation = GUBoromir_CHRA

AnimationName = GUBoromir_SKL.GUBoromir_CHRA

AnimationMode = ONCE

AnimationSpeedFactorRange = 1.2 1.2

End

End



; -- Horn anims

AnimationState = UNPACKING SPECIAL_POWER_1

Animation

AnimationName = GUBoromir_SKL.GUBoromir_HRNA

AnimationMode = ONCE

End

End

AnimationState = PREPARING SPECIAL_POWER_1

Animation

AnimationName = GUBoromir_SKL.GUBoromir_HRNB

AnimationMode = ONCE

End

EnteringStateFX = FX_BoromirHorn

End

AnimationState = PACKING SPECIAL_POWER_1

Animation

AnimationName = GUBoromir_SKL.GUBoromir_HRNC

AnimationMode = ONCE

End

End

AnimationState = SPECIAL_POWER_1

Animation

AnimationName = GUBoromir_SKL.GUBoromir_HRNB

AnimationMode = LOOP

End

End



; -- Last Stand Animations

AnimationState = UNPACKING SPECIAL_WEAPON_ONE

Animation

AnimationName = GUBoromir_SKL.GUBoromir_SPCA

AnimationMode = ONCE

End

End

AnimationState = PREPARING SPECIAL_WEAPON_ONE

Animation

AnimationName = GUBoromir_SKL.GUBoromir_SPCB

AnimationMode = ONCE

End

Animation

AnimationName = GUBoromir_SKL.GUBoromir_SPCC

AnimationMode = ONCE

End

EnteringStateFX = FX_BoromirHorn

End

AnimationState = PACKING SPECIAL_WEAPON_ONE

Animation

AnimationName = GUBoromir_SKL.GUBoromir_SPCE

AnimationMode = ONCE

End

End

AnimationState = SPECIAL_WEAPON_ONE

Animation

AnimationName = GUBoromir_SKL.GUBoromir_SPCB

AnimationMode = ONCE

End

Animation

AnimationName = GUBoromir_SKL.GUBoromir_SPCC

AnimationMode = ONCE

End

End



; --- Moving Anims

AnimationState = MOVING WANDER WEAPONSTATE_CLOSE_RANGE

StateName = WithSword

;ParticleSysBone = None InfantryDustTrails

Animation = GUBoromir_WLKA

AnimationName = GUBoromir_SKL.GUBoromir_WLKA

AnimationMode = LOOP

End

End

; non mo cap

AnimationState = MOVING WEAPONSTATE_CLOSE_RANGE

StateName = WithSword

Flags = RANDOMSTART

;ParticleSysBone = None InfantryDustTrails

Animation = GUBoromir_RUNB

AnimationName = GUBoromir_SKL.GUBoromir_RUNB

AnimationMode = LOOP

End

End

AnimationState = MOVING DAMAGED

Flags = RANDOMSTART

;ParticleSysBone = None InfantryDustTrails

Animation = GUBoromir_IWKA

AnimationName = GUBoromir_SKL.GUBoromir_IWKA

AnimationMode = LOOP

End

End

AnimationState = MOVING WANDER

;ParticleSysBone = None InfantryDustTrails

Animation = GUBoromir_WLKA

AnimationName = GUBoromir_SKL.GUBoromir_WLKA

AnimationMode = LOOP

End

End





AnimationState = MOVING FIRING_OR_PREATTACK_A

ShareAnimation = Yes

Animation = RunAndFire

AnimationName = GUBoromir_SKL.GUBoromir_ATRA

AnimationMode = LOOP

End

Flags = RANDOMSTART

End





AnimationState = MOVING

;ParticleSysBone = None InfantryDustTrails

Flags = RANDOMSTART

Animation = GUBoromir_RUNB

AnimationName = GUBoromir_SKL.GUBoromir_RUNA

AnimationMode = LOOP

End

End





; Attacking Anims [Weapon_A]

AnimationState = FIRING_OR_PREATTACK_A WEAPONSTATE_CLOSE_RANGE

StateName = WithSword

Animation = ATKA

AnimationName = GUBoromir_SKL.GUBoromir_ATKA

AnimationMode = ONCE

UseWeaponTiming = Yes

End

Animation = ATKB

AnimationName = GUBoromir_SKL.GUBoromir_ATKB

AnimationMode = ONCE

UseWeaponTiming = Yes

End

End



AnimationState = FIRING_OR_PREATTACK_A

Animation = GUBoromir_ATD1

AnimationName = GUBoromir_SKL.GUBoromir_ATKB

AnimationMode = ONCE

UseWeaponTiming = Yes

End

End









; --------- Idle Anims -non mocap-

; AnimationState = WEAPONSTATE_CLOSE_RANGE

; StateName = WithSword

; Animation = GUBoromir_IDLC

; AnimationName = GUBoromir_SKL.GUBoromir_IDLC

; AnimationMode = ONCE

; End

; End



; ATTACKING

AnimationState = ATTACKING

Animation = ALERT_1

AnimationName = GUBoromir_SKL.GUBoromir_IDLA

AnimationMode = LOOP; ONCE

End

; Flags = RESTART_ANIM_WHEN_COMPLETE ; acts like an idle animation & keeps running the animations.

End



; --------- Selected Anims and Transitions

TransitionState = TRANS_Idle_to_Selected

Animation = ATND

AnimationName = GUBoromir_SKL.GUBoromir_ATND

AnimationMode = ONCE

End

End



TransitionState = TRANS_Selected_To_Idle

Animation = ATNE

AnimationName = GUBoromir_SKL.GUBoromir_ATNE

AnimationMode = ONCE

End

End



AnimationState = LEVELED ; This state clears itself in 3 seconds

Animation = LevelUp

AnimationName = GUBoromir_SKL.GUBoromir_CHRA

AnimationMode = ONCE

End

End



AnimationState = RAISING_FLAG

Animation = CHRA

AnimationName = GUBoromir_SKL.GUBoromir_CHRA

AnimationMode = Once

End

Animation = CHRB

AnimationName = GUBoromir_SKL.GUBoromir_CHRB

AnimationMode = Once

End

Flags = RESTART_ANIM_WHEN_COMPLETE

End



AnimationState = SELECTED

StateName = Selected

SimilarRestart = Yes

Animation = ATNB

AnimationName = GUBoromir_SKL.GUBoromir_ATNB

AnimationMode = LOOP

End

BeginScript

Prev = CurDrawablePrevAnimationState()

if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_Idle_to_Selected") end

EndScript

End



;------------emotions---------------

AnimationState = EMOTION_TAUNTING

Animation = CHRA

AnimationName = GUBoromir_SKL.GUBoromir_CHRA

AnimationMode = Once

End

End



AnimationState = EMOTION_CELEBRATING

Animation = CHRB

AnimationName = GUBoromir_SKL.GUBoromir_CHRB

AnimationMode = Once

End

Flags = RESTART_ANIM_WHEN_COMPLETE

End



AnimationState = EMOTION_ALERT EMOTION_MORALE_HIGH

Animation = Taunting

AnimationName = GUBoromir_SKL.GUBoromir_TNTB

AnimationMode = ONCE

End

Flags = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE

End



; READY IDLE

AnimationState = EMOTION_ALERT

Animation = ALERT_1

AnimationName = GUBoromir_SKL.GUBoromir_IDLA

AnimationMode = LOOP ;ONCE

End

; Flags = RESTART_ANIM_WHEN_COMPLETE ; acts like an idle animation & keeps running the animations.

End





; --------- Click and Hit Reactions ------------

AnimationState = HIT_REACTION HIT_LEVEL_1

Animation = Hit_Level_1_a

AnimationName = GUBoromir_SKL.GUBoromir_HITA

AnimationMode = ONCE

End

End



End





#include "..\..\..\includes\StunDrawModuleSmall.inc"





; ***DESIGN parameters ***

Side = Men

EditorSorting = UNIT

ThreatLevel = BOROMIR_THREAT_LEVEL

ThingClass = CHARACTER_UNIT

BuildCost = BOROMIR_BUILDCOST

BuildTime = BOROMIR_BUILDTIME

ShockwaveResistance = SHOCKWAVE_RESISTANCE_STRONG

;//DisplayMeleeDamage = BOROMIR_DAMAGE



HeroSortOrder = 50



TransportSlotCount = TRANSPORTSLOTCOUNT_HERO

WeaponSet

Conditions = None

Weapon = PRIMARY BoromirSword

;AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI

End

ArmorSet

Conditions = None

Armor = ToughHeroArmor

DamageFX = NormalDamageFX

End



VisionRange = VISION_HERO_STANDARD

ShroudClearingRange = SHROUD_CLEAR_HERO

MaxVisionBonusPercent = 300%

VisionBonusTestRadius = 200

VisionBonusPercentPerFoot = 1.0%



BountyValue = GONDOR_BOROMIR_BOUNTY_VALUE

DisplayName = OBJECT:GondorBoromir

RecruitText = CONTROLBAR:GondorBoromirRecruit

ReviveText = CONTROLBAR:GondorBoromirRevive

Hotkey = CONTROLBAR:GondorBoromirHotkey

CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles



CommandSet = BoromirCommandSet

CommandPoints = 0





; *** AUTO RESOLVE DATA ***

AutoResolveUnitType = AutoResolveUnit_Hero

AutoResolveCombatChain = AutoResolve_HeroCombatChain



AutoResolveBody = AutoResolve_BoromirBody



AutoResolveArmor

Armor = AutoResolve_BoromirArmor

End



AutoResolveWeapon

Weapon = AutoResolve_BoromirWeapon

End



AutoResolveLeadership = AutoResolve_BoromirBonus





; *** AUDIO Parameters ***;



VoiceAttack = BoromirVoiceAttack

VoiceAttackCharge = BoromirVoiceAttackCharge

VoiceAttackMachine = BoromirVoiceAttack

VoiceAttackStructure = BoromirVoiceAttackBuilding

;VoiceCreated = BoromirVoiceSalute ;this conflicts with his respawn dialogue line -- rehooked to spawn FX

;VoiceFullyCreated = BoromirVoiceSalute ;this conflicts with his respawn dialogue line -- rehooked to spawn FX

VoiceFear = BoromirVoiceHelpMe

VoiceMove = BoromirVoiceMove

VoiceMoveToCamp = BoromirVoiceMoveCamp

VoiceMoveWhileAttacking = BoromirVoiceDisengage

VoicePriority = 84

VoiceRetreatToCastle = BoromirVoiceRetreat

VoiceSelect = BoromirVoiceSelectMS

VoiceSelectBattle = BoromirVoiceSelectBattle

VoiceGuard = BoromirVoiceMove



SoundImpact = ImpactHorse



;BoromirVoiceJoinAnybody



UnitSpecificSounds

VoiceGarrison = BoromirVoiceGarrison

VoiceEnterUnitElvenTransportShip = BoromirVoiceMove

VoiceInitiateCaptureBuilding = BoromirVoiceMove

End



CrowdResponseKey = GoodMen



#include "..\..\..\includes\StandardUnitEvaEvents.inc"

EvaEventDieOwner = BoromirDie ;Eva event to trigger on unit's death. NOTICE THAT this is only for permanent deaths

;For deaths you can respawn from, use the DeathFX



ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior

MaxUpdateRangeCap = 800

AnimationSound = Sound:SwordIntoScabbard1 Animation:GUBoromir_SKL.GUBoromir_HRNA Frames:7

AnimationSound = Sound:BoromirHorn Animation:GUBoromir_SKL.GUBoromir_HRNB Frames:0

AnimationSound = Sound:SwordShingClean1 Animation:GUBoromir_SKL.GUBoromir_HRNC Frames:5

AnimationSound = Sound:FootstepDirtA Animation:GUBoromir_SKL.GUBoromir_RUNA Frames:10 22

AnimationSound = Sound:FootstepDirtA Animation:GUBoromir_SKL.GUBoromir_RUNB Frames:10 22

AnimationSound = Sound:FootstepDirtA Animation:GUBoromir_SKL.GUBoromir_ATRA Frames:11 23 35 47

AnimationSound = Sound:FootstepDirtA Animation:GUBoromir_SKL.GUBoromir_MFDA Frames:8 20 31 41



AnimationSound = Sound:BodyFallGenericNoArmor Animation:GUBoromir_SKL.GUBoromir_DTHA Frames:116

AnimationSound = Sound:BodyFallSoldier Animation:GUBoromir_SKL.GUBoromir_LNDA Frames:4

AnimationSound = Sound:BodyFallGenericNoArmor Animation:GUBoromir_SKL.GUBoromir_SPCE Frames:82

End



Behavior = LargeGroupAudioUpdate ModuleTag_LGAU ; Tie into LargeGroupAudio system

Key = Humanoid_Male Man Man_Male Unit Infantry Hero

;UnitWeight = 2

End





; *** ENGINEERING Parameters ***



RadarPriority = UNIT

KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_EACH_OTHER SCORE HERO ARMY_SUMMARY HEAVY_MELEE_HITTER

PathfindDiameter = 40.0

CamouflageDetectionMultiplier = CAMOUFLAGE_DETECTION_DISTANCE_LONG



Body = DelayedDeathBody ModuleTag_DelayedDeathBody ;DelayedDeath is a variation of RespawnBody

CheerRadius = EMOTION_CHEER_RADIUS

MaxHealth = BOROMIR_HEALTH ; BALANCE

DelayedDeathTime = 10000 ; Amount of time spent still fighting after being killed

DelayedDeathPrerequisiteUpgrade = Upgrade_BoromirLastStand ; Need this upgrade to be able to delay my death.

InvulnerableFX = FX_BoromirLastStand



PermanentlyKilledByFilter = NONE ;Who kills me permanently?

DodgePercent = HERO_DODGE_PERCENT

End



Body = ActiveBody ModuleTag_ActiveBody

CheerRadius = EMOTION_CHEER_RADIUS

MaxHealth = BOROMIR_HEALTH ; BALANCE

DodgePercent = HERO_DODGE_PERCENT

End



Behavior = UnpauseSpecialPowerUpgrade ModuleTag_TheodenLeadership

SpecialPowerTemplate = SpecialAbilityFakeLeadership

TriggeredBy = Upgrade_BoromirLastStand

End

Behavior = SpecialPowerModule ModuleTag_TheodenLeadershipUpdate

SpecialPowerTemplate = SpecialAbilityFakeLeadership

UpdateModuleStartsAttack = No

StartsPaused = Yes

End



; Body = RespawnBody ModuleTag_RespawnBody

; CheerRadius = EMOTION_CHEER_RADIUS

; MaxHealth = BOROMIR_HEALTH ;BALANCE Eomer Health

; PermanentlyKilledByFilter = NONE ;Who kills me permanently?

; DodgePercent = HERO_DODGE_PERCENT

; End

Behavior = RespawnUpdate ModuleTag_RespawnUpdate

DeathAnim = STUNNED ;Model condition to play when killed-to-respawn

DeathAnim = DYING ;Model condition to play when killed-to-respawn

DeathFX = FX_BoromirDieToRespawn ;FXList to play when killed-to-respawn

DeathAnimationTime = 4966 ;1133 ;How long DeathAnim will take.

InitialSpawnFX = FX_BoromirInitialSpawn

RespawnAnim = LEVELED ;Animation to play when respawning.

RespawnFX = FX_BoromirRespawn ;FXList to play when respawning.

RespawnAnimationTime = 2000 ;Time it takes for respawn to play.

AutoRespawnAtObjectFilter = NONE +CASTLE_KEEP ;Respawn at this location -- and at it's exit production point if possible.

ButtonImage = HIBorimir_res



;RespawnEntries determine the ruleset for how a character can be revived. Some units may automatically respawn, others

;may require a specific revive action performed on him. You can specify different values for each level... or use Level:Any

RespawnRules = AutoSpawn:No Cost:625 Time:60000 Health:100% ;DEFAULT VALUES

End



Behavior = AutoHealBehavior ModuleTag_BoromirHealing

StartsActive = Yes

HealingAmount = HERO_HEAL_AMOUNT

HealingDelay = 1000

StartHealingDelay = HERO_HEAL_DELAY

HealOnlyIfNotInCombat = Yes

End



Behavior = LifetimeUpdate ModuleTag_LifeTime ; Used after 'death' to continue for a certain time before really dying.

WaitForWakeUp = Yes

End



Behavior = StancesBehavior ModuleTag_StancesBehavior

StanceTemplate = Hero

End



#include "..\..\..\includes\CaptureBuilding.inc"



Behavior = AIUpdateInterface ModuleTag_03

AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS

MoodAttackCheckRate = 500

AILuaEventsList = BoromirFunctions

End



Behavior = EmotionTrackerUpdate Module_EmotionTracker

TauntAndPointDistance = 300

TauntAndPointUpdateDelay = 10000

AddEmotion = Doom_Base

// AddEmotion = BraceForBeingCrushed_Base

// AddEmotion = FearIdle_Base

// AddEmotion = FearBusy_Base

AddEmotion = Point_Base

AddEmotion = Taunt_Base

AddEmotion = CheerIdle_Base

AddEmotion = CheerBusy_Base

// AddEmotion = HeroCheerIdle_Base

// AddEmotion = HeroCheerBusy_Base

AddEmotion = Alert_Base

AddEmotion = CheerForAboutToCrush_Base

End



LocomotorSet

Locomotor = HeroHumanLocomotor

Condition = SET_NORMAL

Speed = NORMAL_GOOD_HERO_SPEED

End



Behavior = AutoAbilityBehavior ModuleTag_AutoAbilityBehavior

End



Behavior = AutoHealBehavior ModuleTag_ElvenGiftHealing

StartsActive = No

TriggeredBy = Upgrade_ElvenGift

HealingAmount = ELVEN_GIFT_REGEN_AMOUNT

HealingDelay = ELVEN_GIFT_REGEN_DELAY

StartHealingDelay = HERO_HEAL_DELAY

HealOnlyIfNotInCombat = Yes

End



Behavior = AttributeModifierUpgrade ModuleTag_ElvenGiftBonus

TriggeredBy = Upgrade_ElvenGift

AttributeModifier = SpellBookElvenGifts

End



Behavior = DualWeaponBehavior ModuleTag_13

SwitchWeaponOnCloseRangeDistance = 161

End



Behavior = PhysicsBehavior ModuleTag_04

GravityMult = 1.0

ShockStandingTime = 4000 ;msec

End



Behavior = SlowDeathBehavior ModuleTag_05

DeathTypes = ALL

SinkDelay = 3000

SinkRate = 0.40 ; in Dist/Sec

DestructionDelay = 8000

Sound = INITIAL BoromirVoiceDie

; - Where does this stuff go? -

; UnpackTime = 2000

; PreparationTime = 1

; PersistentPrepTime = 4000

; PackTime = 2000

; WhichSpecialWeapon = 1

End



Behavior = SquishCollide ModuleTag_06

;nothing

End



Behavior = HitReactionBehavior HitReactionBehaviorModuleTag

HitReactionLifeTimer1 = 7 ; level 1 (light damage) hit reaction animations in frames (5 per sec)

HitReactionLifeTimer2 = 15 ; level 2 (medium damage) hit reaction animations in frames (5 per sec)

HitReactionLifeTimer3 = 10 ; level 3 (heavy damage) hit reaction animations in frames (5 per sec)



HitReactionThreshold1 = 0.0 ; level 1 (light damage) threshold trigger

HitReactionThreshold2 = 25.0 ; level 2 (medium damage) threshold trigger

HitReactionThreshold3 = 50.0 ; level 3 (heavy damage) threshold trigger

End



Behavior = UnpauseSpecialPowerUpgrade ModuleTag_EnableHorn

SpecialPowerTemplate = SpecialAbilityHornOfGondor

TriggeredBy = Upgrade_BoromirHornOfGondor

End

Behavior = SpecialPowerModule ModuleTag_HornStarter

SpecialPowerTemplate = SpecialAbilityHornOfGondor

UpdateModuleStartsAttack = Yes

AntiCategory = LEADERSHIP

AttributeModifier = BoromirGondorHornAntiCategory ; Used for the anti category duration only.

AttributeModifierRange = 100.0

StartsPaused = Yes ; obtained on level 2

End

Behavior = ModelConditionSpecialAbilityUpdate ModuleTag_HornUpdate

SpecialPowerTemplate = SpecialAbilityHornOfGondor

; StartAbilityRange = 2.0





UnpackTime = 1700 ; Drawing the horn

PreparationTime = 1 ; nothing

PersistentPrepTime = 1600 ; Blowing

PackTime = 1666 ; Putting horn away



; PackSound =

; UnpackSound =

; TriggerSound =

; PrepSoundLoop =

AwardXPForTriggering = 0

End





;------------ CAPTAIN OF GONDOR -----------------------------------------------



Behavior = UnpauseSpecialPowerUpgrade ModuleTag_KingsFavorEnabler

SpecialPowerTemplate = SpecialAbilityKingsFavor

TriggeredBy = Upgrade_FaramirCaptainOfGondor

End

Behavior = SpecialPowerModule ModuleTag_KingsFavorSpecialPowerModule

SpecialPowerTemplate = SpecialAbilityKingsFavor

StartsPaused = Yes

UpdateModuleStartsAttack = Yes

InitiateSound = BoromirVoiceCaptainOfGondor

End

Behavior = LevelGrantSpecialPower ModuleTag_KingsFavor

SpecialPowerTemplate = SpecialAbilityKingsFavor

UnpackingVariation = 2

StartAbilityRange = 200.0

LevelFX = FX_LevelUp

Experience = 50

RadiusEffect = 150

AcceptanceFilter = KINGSFAVOR_OBJECTFILTER

UnpackTime = 2000

PreparationTime = 1

FreezeAfterTriggerDuration = 2000 ; Hold AI for this long after we fire.

End



;--------------------- Start Leadership bonus ---------------

Behavior = AttributeModifierAuraUpdate ModuleTag_BoromirLeadership

StartsActive = No ;If no, requires upgrade to turn on.

BonusName = GenericHeroLeadership

TriggeredBy = Upgrade_BoromirForGondorSpeech

RefreshDelay = 2000

Range = 200

AntiCategory = BUFF

ObjectFilter = GENERIC_BUFF_RECIPIENT_OBJECT_FILTER

End



Behavior = UnpauseSpecialPowerUpgrade ModuleTag_UnpauseLeadership

SpecialPowerTemplate = SpecialAbilityFakeLeadership

TriggeredBy = Upgrade_BoromirForGondorSpeech

End

Behavior = SpecialPowerModule ModuleTag_BoromirLeadershipUpdate

SpecialPowerTemplate = SpecialAbilityFakeLeadership

UpdateModuleStartsAttack = No

StartsPaused = Yes

End

;--------------------- End Leadership bonus ---------------



Behavior = UnpauseSpecialPowerUpgrade ModuleTag_GondorSoldiersEnabler

SpecialPowerTemplate = SuperweaponGondorSoldiers

TriggeredBy = Upgrade_BoromirGondorSoldiers

End



Behavior = OCLSpecialPower ModuleTag_OCLSpecialPower

SpecialPowerTemplate = SuperweaponGondorSoldiers

OCL = OCL_GondorSoldiers

CreateLocation = USE_OWNER_OBJECT

StartsPaused = yes

SetModelCondition = ModelConditionState:USER_1

SetModelConditionTime = 8.1

End



;///////////////////

; AISpecialPowers

;///////////////////



Behavior = AISpecialPowerUpdate GondorFighterHordeStanceBattle

CommandButtonName = Command_SetStanceBattle

SpecialPowerAIType = AI_SPECIAL_POWER_STANCEBATTLE

End



Behavior = AISpecialPowerUpdate GondorFighterHordeStanceAggressive

CommandButtonName = Command_SetStanceAggressive

SpecialPowerAIType = AI_SPECIAL_POWER_STANCEAGGRESSIVE

End



Behavior = AISpecialPowerUpdate GondorFighterHordeHoldGround

CommandButtonName = Command_SetStanceHoldGround

SpecialPowerAIType = AI_SPECIAL_POWER_STANCEHOLDGROUND

End





Behavior = AISpecialPowerUpdate BoromirHornOfGondorAI

CommandButtonName = Command_SpecialAbilityHornOfGondor

SpecialPowerAIType = AI_SPECIAL_POWER_BASIC_SELF_BUFF

End



Behavior = AISpecialPowerUpdate SpecialPowerBoromirGiveXPAoE

CommandButtonName = Command_SpecialAbilityCaptainOfGondorBoromir

SpecialPowerAIType = AI_SPECIAL_POWER_GIVEXP_AOE

SpecialPowerRadius = 30.0

End









Geometry = CYLINDER

GeometryMajorRadius = 8.0

GeometryMinorRadius = 8.0

GeometryHeight = 19.2

GeometryIsSmall = Yes

Shadow = SHADOW_DECAL

ShadowSizeX = 20;

ShadowSizeY = 20;

ShadowTexture = ShadowI;





End[/codebox]

commandbutton.ini
[codebox]CommandButton Command_BoromirLastStandFakeButton

Command = SPECIAL_POWER

SpecialPower = SpecialAbilityFakeLeadership

Options = NONPRESSABLE

TextLabel = CONTROLBAR:LastStand

ButtonImage = HSBorimirLastStand

RadiusCursorType = TrainingRadiusCursor

Upgrade = Upgrade_BoromirLastStand

ButtonBorderType = ACTION

DescriptLabel = CONTROLBAR:ToolTipLastStand

InPalantir = Yes

;UnitSpecificSound = TheodenVoiceSpeech

End[/codebox]

and commandset.ini
[codebox]CommandSet BoromirCommandSet

1 = Command_ToggleStance

2 = Command_SpecialAbilityHornOfGondor

3 = Command_BoromirLastStandFakeButton

4 = Command_SpecialAbilityBoromirForGondor

5 = Command_SpecialAbilityCaptainOfGondorBoromir

6 = Command_GondorSoldiers

12 = Command_CaptureBuilding

13 = Command_AttackMove

14 = Command_Stop

16 = Command_SetStanceBattle

17 = Command_SetStanceAggressive

18 = Command_SetStanceHoldGround

End[/codebox]

so what should i do to make it work just fine??any help is most welcome

Edited by sporting1986, 09 December 2008 - 04:07 AM.


#2 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 09 December 2008 - 07:32 AM

You need to relook at your coding ;)
Maybe make a new 'FakeLeadership' because both of your 'leaderships' are using the same special power (as far as i can see :ohmy: )
And i do hope that the first this is not a commandbutton.ini :lol:
Anyways, changing this should fix your problem :p (at least the levels)

Apparently the leadership is triggered by this upgrade... wierd... Upgrade_BoromirForGondorSpeech

Here is what i found in your code... This is code but not in code box so you can see the BOLD things :xd:
...Code...
Body = DelayedDeathBody ModuleTag_DelayedDeathBody ;DelayedDeath is a variation of RespawnBody
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = BOROMIR_HEALTH ; BALANCE
DelayedDeathTime = 10000 ; Amount of time spent still fighting after being killed
DelayedDeathPrerequisiteUpgrade = Upgrade_BoromirLastStand ; Need this upgrade to be able to delay my death.
InvulnerableFX = FX_BoromirLastStand
PermanentlyKilledByFilter = NONE ;Who kills me permanently?
DodgePercent = HERO_DODGE_PERCENT
End

Body = ActiveBody ModuleTag_ActiveBody
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = BOROMIR_HEALTH ; BALANCE
DodgePercent = HERO_DODGE_PERCENT
End

Behavior = UnpauseSpecialPowerUpgrade ModuleTag_TheodenLeadership
SpecialPowerTemplate = SpecialAbilityFakeLeadership
TriggeredBy = Upgrade_BoromirLastStand
End

Behavior = SpecialPowerModule ModuleTag_TheodenLeadershipUpdate
SpecialPowerTemplate = SpecialAbilityFakeLeadership
UpdateModuleStartsAttack = No
StartsPaused = Yes
End

;;BlaBlaBla

;--------------------- Start Leadership bonus ---------------
Behavior = AttributeModifierAuraUpdate ModuleTag_BoromirLeadership
StartsActive = No ;If no, requires upgrade to turn on.
BonusName = GenericHeroLeadership
TriggeredBy = Upgrade_BoromirForGondorSpeech
RefreshDelay = 2000
Range = 200
AntiCategory = BUFF
ObjectFilter = GENERIC_BUFF_RECIPIENT_OBJECT_FILTER
End

Behavior = UnpauseSpecialPowerUpgrade ModuleTag_UnpauseLeadership
SpecialPowerTemplate = SpecialAbilityFakeLeadership
TriggeredBy = Upgrade_BoromirForGondorSpeech
End

Behavior = SpecialPowerModule ModuleTag_BoromirLeadershipUpdate
SpecialPowerTemplate = SpecialAbilityFakeLeadership
UpdateModuleStartsAttack = No
StartsPaused = Yes
End
Ridder Geel

#3 sporting1986

sporting1986

    Aragorn Elessar

  • Members
  • 526 posts
  • Location:Lisboa Portugal
  •  A newbie i am not, yet much to learn i still have

Posted 09 December 2008 - 04:32 PM

You need to relook at your coding ;)
Maybe make a new 'FakeLeadership' because both of your 'leaderships' are using the same special power (as far as i can see :ohmy: )
And i do hope that the first this is not a commandbutton.ini :lol:
Anyways, changing this should fix your problem :p (at least the levels)

Apparently the leadership is triggered by this upgrade... wierd... Upgrade_BoromirForGondorSpeech

Here is what i found in your code... This is code but not in code box so you can see the BOLD things :xd:
...Code...
Body = DelayedDeathBody ModuleTag_DelayedDeathBody ;DelayedDeath is a variation of RespawnBody
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = BOROMIR_HEALTH ; BALANCE
DelayedDeathTime = 10000 ; Amount of time spent still fighting after being killed
DelayedDeathPrerequisiteUpgrade = Upgrade_BoromirLastStand ; Need this upgrade to be able to delay my death.
InvulnerableFX = FX_BoromirLastStand
PermanentlyKilledByFilter = NONE ;Who kills me permanently?
DodgePercent = HERO_DODGE_PERCENT
End

Body = ActiveBody ModuleTag_ActiveBody
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = BOROMIR_HEALTH ; BALANCE
DodgePercent = HERO_DODGE_PERCENT
End

Behavior = UnpauseSpecialPowerUpgrade ModuleTag_TheodenLeadership
SpecialPowerTemplate = SpecialAbilityFakeLeadership
TriggeredBy = Upgrade_BoromirLastStand
End

Behavior = SpecialPowerModule ModuleTag_TheodenLeadershipUpdate
SpecialPowerTemplate = SpecialAbilityFakeLeadership
UpdateModuleStartsAttack = No
StartsPaused = Yes
End

;;BlaBlaBla

;--------------------- Start Leadership bonus ---------------
Behavior = AttributeModifierAuraUpdate ModuleTag_BoromirLeadership
StartsActive = No ;If no, requires upgrade to turn on.
BonusName = GenericHeroLeadership
TriggeredBy = Upgrade_BoromirForGondorSpeech
RefreshDelay = 2000
Range = 200
AntiCategory = BUFF
ObjectFilter = GENERIC_BUFF_RECIPIENT_OBJECT_FILTER
End

Behavior = UnpauseSpecialPowerUpgrade ModuleTag_UnpauseLeadership
SpecialPowerTemplate = SpecialAbilityFakeLeadership
TriggeredBy = Upgrade_BoromirForGondorSpeech
End

Behavior = SpecialPowerModule ModuleTag_BoromirLeadershipUpdate
SpecialPowerTemplate = SpecialAbilityFakeLeadership
UpdateModuleStartsAttack = No
StartsPaused = Yes
End



mate you said with your code the experience levels should be fine but the same thing happens when he reaches level 3 he gains leadership and the last stand hability,and what if i use fakeleadership2??

#4 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 09 December 2008 - 04:34 PM

Yes u can use #2 :ohmy: It must always be different for different powers that a unit has because if it has 2 of the same then it al goes crazy and such ;)
Ridder Geel

#5 sporting1986

sporting1986

    Aragorn Elessar

  • Members
  • 526 posts
  • Location:Lisboa Portugal
  •  A newbie i am not, yet much to learn i still have

Posted 09 December 2008 - 04:56 PM

Yes u can use #2 :ohmy: It must always be different for different powers that a unit has because if it has 2 of the same then it al goes crazy and such ;)



well it worked for the experience levels but same happens when his life reaches 0 i can not control him

#6 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 09 December 2008 - 05:32 PM

Well of course you can not, he is 'DEAD' so you cannot control him anymore :D
Ridder Geel

#7 sporting1986

sporting1986

    Aragorn Elessar

  • Members
  • 526 posts
  • Location:Lisboa Portugal
  •  A newbie i am not, yet much to learn i still have

Posted 09 December 2008 - 06:08 PM

Well of course you can not, he is 'DEAD' so you cannot control him anymore :D



yes but he controls him self and remains alive like a maniac guy,he does not die

#8 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 09 December 2008 - 06:12 PM

Ok... Was this ever in BFME 1? If not maybe that is why EA did not keep it in the game :D
Ridder Geel

#9 sporting1986

sporting1986

    Aragorn Elessar

  • Members
  • 526 posts
  • Location:Lisboa Portugal
  •  A newbie i am not, yet much to learn i still have

Posted 09 December 2008 - 07:34 PM

Ok... Was this ever in BFME 1? If not maybe that is why EA did not keep it in the game :D



nop,in bfme1 there was the same the power was all commented,i saw in a mod that this power could get to work and i already doube triple check those mods but they have made animations for this to work,well if it has no solution well..it´s life lol

#10 Skywaters

Skywaters

    Schnell, Schnell, Kartoffelkopf!

  • Members
  • 357 posts
  • Projects:Command Imperium
  •  Eccentric Philantrophist

Posted 14 December 2008 - 05:03 AM

It can be made to work properly.

Give me some time to recheck / refind the code I had for it.

The main change that has to happen is his body module tag IIRC, because in order to use Last Stand he has to have a different body module.

Let me look into it...
Posted Image

#11 sporting1986

sporting1986

    Aragorn Elessar

  • Members
  • 526 posts
  • Location:Lisboa Portugal
  •  A newbie i am not, yet much to learn i still have

Posted 14 December 2008 - 05:13 AM

It can be made to work properly.

Give me some time to recheck / refind the code I had for it.

The main change that has to happen is his body module tag IIRC, because in order to use Last Stand he has to have a different body module.

Let me look into it...



ok :evgr: glad i got more help

#12 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 14 December 2008 - 09:29 AM

Oh wait a second, shouldnt this work a bit like the troll before he dies? he smacks a few ppl and stuffies and then dies, that is what 'last stance' should do right? :evgr: (looking at trolls)
Ridder Geel

#13 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 14 December 2008 - 09:42 AM

Why did you not keep ActiveBody ModuleTag_ActiveBody commented?
because...
DelayedDeathBody ModuleTag_DelayedDeathBody ;DelayedDeath is a variation of RespawnBody
Ridder Geel

#14 sporting1986

sporting1986

    Aragorn Elessar

  • Members
  • 526 posts
  • Location:Lisboa Portugal
  •  A newbie i am not, yet much to learn i still have

Posted 14 December 2008 - 08:50 PM

Why did you not keep ActiveBody ModuleTag_ActiveBody commented?
because...
DelayedDeathBody ModuleTag_DelayedDeathBody ;DelayedDeath is a variation of RespawnBody



i will try this but i thing he should be indestructible for a period of time that is why this is called last stand

#15 Sûlherokhh

Sûlherokhh

    Sagacious Engineer

  • Project Team
  • 3,754 posts
  • Location:Central Germany
  • Projects:S.E.E., Sage A.I., Code Advisor
  •  'Axe'er of the Gordic Knot

Posted 14 December 2008 - 10:02 PM

Ridder Geel meant: You can only ever have ONE type of Body.

bannerreal01mittelit3.jpg
Axed Head and A.I. Coder for S.E.E. and ... stuff

".. coding is basically boring. What's fun is finding out how things work, take them apart and then put them together in ways that were not intended nor even conceived."


#16 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 14 December 2008 - 10:54 PM

Ridder Geel meant: You can only ever have ONE type of Body.


Yes that is what i meant, I think this may be what is confusing the 'hero' :thumbsdownsmiley:
Ridder Geel

#17 sporting1986

sporting1986

    Aragorn Elessar

  • Members
  • 526 posts
  • Location:Lisboa Portugal
  •  A newbie i am not, yet much to learn i still have

Posted 14 December 2008 - 10:55 PM

so it should be something like this??

[codebox]

;------------ LAST STAND -----------------------------------------------

Body = DelayedDeathBody ModuleTag_DelayedDeathBody ;DelayedDeath is a variation of RespawnBody

CheerRadius = EMOTION_CHEER_RADIUS

MaxHealth = BOROMIR_HEALTH ; BALANCE

DelayedDeathTime = 10000 ; Amount of time spent still fighting after being killed

DelayedDeathPrerequisiteUpgrade = Upgrade_BoromirLastStand ; Need this upgrade to be able to delay my death.

InvulnerableFX = FX_BoromirLastStand

PermanentlyKilledByFilter = NONE ;Who kills me permanently?

DodgePercent = HERO_DODGE_PERCENT

End



; Body = ActiveBody ModuleTag_ActiveBody

; CheerRadius = EMOTION_CHEER_RADIUS

; MaxHealth = BOROMIR_HEALTH ; BALANCE

; DodgePercent = HERO_DODGE_PERCENT

; End



Behavior = UnpauseSpecialPowerUpgrade ModuleTag_TheodenLeadership

SpecialPowerTemplate = SpecialAbilityFakeLeadership2

TriggeredBy = Upgrade_BoromirLastStand

End



Behavior = SpecialPowerModule ModuleTag_TheodenLeadershipUpdate

SpecialPowerTemplate = SpecialAbilityFakeLeadership2

UpdateModuleStartsAttack = No

StartsPaused = Yes

End[/codebox]

#18 Sûlherokhh

Sûlherokhh

    Sagacious Engineer

  • Project Team
  • 3,754 posts
  • Location:Central Germany
  • Projects:S.E.E., Sage A.I., Code Advisor
  •  'Axe'er of the Gordic Knot

Posted 14 December 2008 - 11:05 PM

Try it. I'd say yes.

DelayedDeathTime = 10000; Amount of time spent still fighting after being killed
This line means invulnerability for 10 seconds after having health reduced to zero. Then drop dead.

bannerreal01mittelit3.jpg
Axed Head and A.I. Coder for S.E.E. and ... stuff

".. coding is basically boring. What's fun is finding out how things work, take them apart and then put them together in ways that were not intended nor even conceived."


#19 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 14 December 2008 - 11:08 PM

Yes, if that does not work though, i suggest you look in the Troll codes :thumbsdownsmiley: (they usually smack around for a few seconds befor dropping dead)
Ridder Geel

#20 sporting1986

sporting1986

    Aragorn Elessar

  • Members
  • 526 posts
  • Location:Lisboa Portugal
  •  A newbie i am not, yet much to learn i still have

Posted 14 December 2008 - 11:11 PM

Try it. I'd say yes.

DelayedDeathTime = 10000; Amount of time spent still fighting after being killed
This line means invulnerability for 10 seconds after having health reduced to zero. Then drop dead.



i have this but now nothing happens i dies normaly


;------------ LAST STAND -----------------------------------------------
Body = DelayedDeathBody ModuleTag_DelayedDeathBody ;DelayedDeath is a variation of RespawnBody
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = BOROMIR_HEALTH ; BALANCE
DelayedDeathTime = 10000; Amount of time spent still fighting after being killed
DelayedDeathPrerequisiteUpgrade = Upgrade_BoromirLastStand ; Need this upgrade to be able to delay my death.
InvulnerableFX = FX_BoromirLastStand
PermanentlyKilledByFilter = NONE ;Who kills me permanently?
DodgePercent = HERO_DODGE_PERCENT
End

; Body = ActiveBody ModuleTag_ActiveBody
; CheerRadius = EMOTION_CHEER_RADIUS
; MaxHealth = BOROMIR_HEALTH ; BALANCE
; DodgePercent = HERO_DODGE_PERCENT
; End

Behavior = UnpauseSpecialPowerUpgrade ModuleTag_TheodenLeadership
SpecialPowerTemplate = SpecialAbilityFakeLeadership2
TriggeredBy = Upgrade_BoromirLastStand
End

Behavior = SpecialPowerModule ModuleTag_TheodenLeadershipUpdate
SpecialPowerTemplate = SpecialAbilityFakeLeadership2
UpdateModuleStartsAttack = No
StartsPaused = Yes
End


Body = RespawnBody ModuleTag_RespawnBody
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = BOROMIR_HEALTH ;BALANCE Eomer Health
PermanentlyKilledByFilter = NONE ;Who kills me permanently?
DodgePercent = HERO_DODGE_PERCENT
End
Behavior = RespawnUpdate ModuleTag_RespawnUpdate
; DeathAnim = STUNNED ;Model condition to play when killed-to-respawn
DeathAnim = DYING ;Model condition to play when killed-to-respawn
DeathFX = FX_BoromirDieToRespawn ;FXList to play when killed-to-respawn
DeathAnimationTime = 4966 ;1133 ;How long DeathAnim will take.
InitialSpawnFX = FX_BoromirInitialSpawn
RespawnAnim = LEVELED ;Animation to play when respawning.
RespawnFX = FX_BoromirRespawn ;FXList to play when respawning.
RespawnAnimationTime = 2000 ;Time it takes for respawn to play.
AutoRespawnAtObjectFilter = NONE +CASTLE_KEEP ;Respawn at this location -- and at it's exit production point if possible.
ButtonImage = HIBorimir_res

;RespawnEntries determine the ruleset for how a character can be revived. Some units may automatically respawn, others
;may require a specific revive action performed on him. You can specify different values for each level... or use Level:Any
RespawnRules = AutoSpawn:No Cost:625 Time:60000 Health:100% ;DEFAULT VALUES
End




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users