blog
Published on August 12, 2010 By a110 In Sins Modding

i'm thinking about starting modding

i have harpo's utilities and the diplomacy reference files

looking through them i can semi-understand parts of them, but i have no idea how to make *new* content

to begin with, i wish to make an ability on the illuminator which reduces its shields and movement/turning speed and increases its damage and range and decreases its weapon cooldown

does anyone have some tips to get started

thanks


Comments (Page 1)
2 Pages1 2 
on Aug 12, 2010

look at the abilities for Vasari Assiliants and Sentinels

they have something similar, the only thing you would have to add would be the reduction in shields

on Aug 13, 2010

what would be the Buffs for increasing the range and power of the beam? would i need to make them myself?

also, what is passiveWeaponEffectChance?

on Aug 13, 2010

found in BuffChargedMissilesSelf

entityModifier
    buffEntityModifierType "WeaponRange"
    value
        Level:0 0.250000
        Level:1 0.000000
        Level:2 0.000000

found in BuffChargedMissilesDoDamage

instantAction
    buffInstantActionType "DoDamage"
    instantActionTriggerType "OnDelay"
    delayTime 0.000000
    damage
        Level:0 15.000000
        Level:1 0.000000
        Level:2 0.000000
    damageAffectType "AFFECTS_SHIELDS_AND_HULL"
    damageType "PHYSICAL"

this kind of buff that you are looking for/at is fairly complicated using about 4 different files so make sure you keep track of what is pointed where

not sure as to what that last one means, maybe something to the fact of how often the ability affects the weapon

on Aug 13, 2010

thanks

ok here's what i have so far on the Buff

TXT
entityType "Buff"
onReapplyDuplicateType "PrioritizeNewBuffs"
buffStackingLimitType "ForAllPlayers"
stackingLimit 1
allowFirstSpawnerToStack FALSE
buffExclusivityForAIType "ExclusiveForAllPlayers"
isInterruptable FALSE
isChannelling FALSE
numInstantActions 2
instantAction
    buffInstantActionType "ApplyBuffToTargetOnWeaponFired"
    instantActionTriggerType "OnWeaponFired"
    numWeaponClasses 1
    weaponClassForWeaponPassive "BEAM"
    passiveWeaponEffectChance
        Level:0 1.000000
        Level:1 0.000000
        Level:2 0.000000

instantAction
    buffInstantActionType "DoDamage"
    instantActionTriggerType "OnDelay"
    delayTime 0.000000
    damage
        Level:0 30.000000
        Level:1 0.000000
        Level:2 0.000000
    damageAffectType "AFFECTS_SHIELDS_AND_HULL"
    damageType "PHYSICAL"
numPeriodicActions 0
numOverTimeActions 1
overTimeAction
    buffOverTimeActionType "RestoreShields"
    shieldRestoreRate
        Level:0 -60.000000
        Level:1 0.000000
        Level:2 0.000000
numEntityModifiers 2
entityModifier
    buffEntityModifierType "WeaponRange"
    value
        Level:0 0.350000
        Level:1 0.000000
        Level:2 0.000000
entityModifier
    buffEntityModifierType "WeaponCooldown"
    value
        Level:0 -0.250000
        Level:1 -0.000000
        Level:2 -0.00000

numEntityBoolModifiers 2
entityBoolModifier "DisableLinearEngines"
entityBoolModifier "DisableAngularEngines"
numFinishConditions 0

what else do i need in it?

on Aug 13, 2010

a serious restudy in the charged missile ability

you are trying to cram three different occurrences into one file, it will fail (trust me I've tried it)

instead copy and rename the charged missile ability files (there are four of them) then modify them

I think you will have to put the restore shields effect into BuffChargedMissilesSelf entity file

on Aug 13, 2010

A couple of comments:

1) RestoreShields probably won't work with a negative value. You could use DoDamage and use a damageAffectType of AFFECT_ONLY_SHIELDS to accomplish the same thing. (http://code.google.com/p/soaseplugin/wiki/buffOverTimeActionType)

2) This ability isn't really setup right. The first instant action needs to have a buffType for doing the damage instead of the second instantAction. You'll also need a targetFilter. As stated previously, look at BuffChargedMissilesSelf.entity for an example.

3) Disabling angular engines is probably not a real great thing for targeting. Are you sure you want this? The BuffChargedMissiles uses AngularThrust to decrease the turn rate which is probably better.

 

 


on Aug 13, 2010

BuffChargeBeamSelf, modified from BuffChargedMissilesSelf:

TXT
entityType "Buff"
onReapplyDuplicateType "PrioritizeNewBuffs"
buffStackingLimitType "ForAllPlayers"
stackingLimit 1
allowFirstSpawnerToStack FALSE
buffExclusivityForAIType "ExclusiveForAllPlayers"
isInterruptable FALSE
isChannelling FALSE
numInstantActions 1
instantAction
    buffInstantActionType "ApplyBuffToTargetOnWeaponFired"
    instantActionTriggerType "OnWeaponFired"
    numWeaponClasses 1
    weaponClassForWeaponPassive "BEAM"
    passiveWeaponEffectChance
        Level:0 1.000000
        Level:1 0.000000
        Level:2 0.000000
numPeriodicActions 0
numOverTimeActions 1
overTimeAction
    buffOverTimeActionType "RestoreShields"
    shieldRestoreRate
        Level:0 -60.000000
        Level:1 0.000000
        Level:2 0.000000
numEntityModifiers 2
entityModifier
    buffEntityModifierType "WeaponRange"
    value
        Level:0 0.250000
        Level:1 0.000000
        Level:2 0.000000
entityModifier
    buffEntityModifierType "AngularThrust"
    value
        Level:0 -4.000000
        Level:1 0.000000
        Level:2 0.000000
numEntityBoolModifiers 1
entityBoolModifier "DisableLinearEngines"
numFinishConditions 0

does allowFirstSpawnerToStack determine whether multiple units using the ability will stack in power?

BuffChargeBeamDoDamage

TXT
entityType "Buff"
onReapplyDuplicateType "PrioritizeNewBuffs"
buffStackingLimitType "ForAllPlayers"
stackingLimit -1
buffExclusivityForAIType "ExclusiveForAllPlayers"
isInterruptable FALSE
isChannelling FALSE
numInstantActions 1
instantAction
    buffInstantActionType "DoDamage"
    instantActionTriggerType "OnDelay"
    delayTime 0.000000
    damage
        Level:0 25.000000
        Level:1 0.000000
        Level:2 0.000000
    damageAffectType "AFFECTS_SHIELDS_AND_HULL"
    damageType "PHYSICAL"
    isDamageShared TRUE
numPeriodicActions 0
numOverTimeActions 0
numEntityModifiers 0
numEntityBoolModifiers 0
numFinishConditions 1
finishCondition
    finishConditionType "AllOnDelayInstantActionsDone"

 

i didn't bother with BuffChargedMissilesSpawnDamage because it is the aoe effect, which i don't want in the new ability

on Aug 13, 2010

Just in case you missed my second point. You MUST have a buffType and targetFilter for ApplyBuffToTargetOnWeaponFired.

Also, look at point 1 about RestoreShields. I don't think it will work with a negative value.

on Aug 13, 2010

yeah, sorry i posted before seeing your post

what buffType that will increase its weapon damage, and how do i make DoDamage affect itself as the target?

on Aug 13, 2010

Your second buff BuffChargeBeamDoDamage looks fine. What you are missing is this in the BuffChargeBeamSelf after the passive weapon affect line.

buffType "BuffChargeBeamDoDamage"
targetFilter
 numOwnerships 1
  ownership "Enemy"
 numObjects 4
  object "CapitalShip"
  object "Frigate"
  object "PlanetModule"
  object "StarBase"
 numSpaces 1
  space "Normal"
 numConstraints 0

DoDamage also works as an over time action. Having this in BuffChargeBeamSelf should work the same as the weapon cooldown and angular thrust change.

 

on Aug 14, 2010

thanks a lot

new BuffChargeBeamSelf:

TXT
entityType "Buff"
onReapplyDuplicateType "PrioritizeNewBuffs"
buffStackingLimitType "ForAllPlayers"
stackingLimit 1
allowFirstSpawnerToStack FALSE
buffExclusivityForAIType "ExclusiveForAllPlayers"
isInterruptable FALSE
isChannelling FALSE
numInstantActions 1
instantAction
    buffInstantActionType "ApplyBuffToTargetOnWeaponFired"
    instantActionTriggerType "OnWeaponFired"
    numWeaponClasses 1
    weaponClassForWeaponPassive "BEAM"
    passiveWeaponEffectChance
        Level:0 1.000000
        Level:1 0.000000
        Level:2 0.000000
    buffType "BuffChargeBeamDoDamage"
    targetFilter
        numOwnerships 1
        ownership "Enemy"
        numObjects 4
        object "CapitalShip"
        object "Frigate"
        object "PlanetModule"
        object "StarBase"
        numSpaces 1
        space "Normal"
        numConstraints 0
numPeriodicActions 0
numOverTimeActions 1
overTimeAction
    buff OverTimeActionType "DoDamage"
    damageRate
        Level:0 0.400000
        Level:1 0.000000
        Level:2 0.000000
    damageAffectType "AFFECTS_ONLY_SHIELDS"
    damageType "PHYSICAL"
    isDamageShared TRUE
numEntityModifiers 2
entityModifier
    buffEntityModifierType "WeaponRange"
    value
        Level:0 0.250000
        Level:1 0.000000
        Level:2 0.000000
entityModifier
    buffEntityModifierType "AngularThrust"
    value
        Level:0 -3.000000
        Level:1 0.000000
        Level:2 0.000000
numEntityBoolModifiers 1
entityBoolModifier "DisableLinearEngines"
numFinishConditions 0


will this work?

also, the length of the buff is determined by the ability file (which i haven't started on) right?

on Aug 14, 2010

will this work?

also, the length of the buff is determined by the ability file (which i haven't started on) right?

visually it looks ok.

I think the Charged Missiles approach as a toggle type ability is the way to go here still.

 

on Aug 14, 2010

yeah, that's what i was planning on too

i'll start on it later today, thanks for the help

on Aug 19, 2010

ok, i am now about to embark on the ability, string, and research files for this ability, how do i set them up so that it replaces the deceptive illusion ability?

on Aug 20, 2010

ok,

AbilityChargeBeam:

TXT
entityType "Ability"
buffInstantActionType "ApplyOrRemoveBuffToSelf"
instantActionTriggerType "AlwaysPerform"
buffType "BuffChargedMissilesSelf"
effectInfo
    effectAttachInfo
        attachType "Center"
    smallEffectName ""
    largeEffectName ""
    soundID "EFFECT_PhaseCloak"
toggleStateOnNameStringID "IDS_ABILITY_CHARGEBEAM_NAME"
toggleStateOnDescStringID "IDS_ABILITY_CHARGEBEAMACTIVE_DESCRIPTION"
needsToFaceTarget FALSE
canCollideWithTarget TRUE
moveThruTarget FALSE
isUltimateAbility FALSE
maxNumLevels 1
levelSourceType "ResearchWithoutBase"
improveSourceResearchSubject "RESEARCHSUBJECT_ABILITYACCESS_CHARGEBEAM"
aiUseTime "OnlyWhenAttackTargetIsInFiringSolutionAndHasAttackOrder"
aiUseTargetCondition "Any"
isAutoCastAvailable TRUE
isAutoCastOnByDefault TRUE
pickRandomPlanetToExploreForAutoCastTarget FALSE
ignoreNonCombatShipsForAutoCastTarget TRUE
onlyAutoCastWhenDamageTakenExceedsPerc 0.000000
useCostType "AntiMatter"
antiMatterCost
    Level:0 0.000000
    Level:1 0.000000
    Level:2 0.000000
cooldownTime
    Level:0 5.000000
    Level:1 0.000000
    Level:2 0.000000
orderAcknowledgementType "ONATTACKORDERISSUED"
researchPrerequisites
    NumResearchPrerequisites 1
    ResearchPrerequisite
        Subject "RESEARCHSUBJECT_ABILITYACCESS_CHARGEBEAM"
        Level 1
nameStringID "IDS_ABILITY_CHARGEBEAM_NAME"
descStringID "IDS_ABILITY_CHARGEBEAM_DESCRIPTION"
hudIcon "HUDICON_ABILITY_BEAMBLAST"
smallHudIcon "HUDICON_ABILITY_BEAMBLAST"
infoCardIcon ""

RESEARCHSUBJECT_ABILITYACCESS_CHARGEBEAM:

TXT
entityType "ResearchSubject"
hudIcon "HUDICON_ABILITY_BEAMBLAST"
smallHudIcon "HUDICON_ABILITY_BEAMBLAST"
infoCardIcon ""
NameStringID "IDS_RESEARCHSUBJECT_ABILITYACCESS_CHARGEBEAM_NAME"
DescriptionStringID "IDS_RESEARCHSUBJECT_ABILITYACCESS_CHARGEBEAM_DESCRIPTION"
researchWindowLocation
    block 1
    pos [ 4 , 3 ]
ResearchField "Combat"
Prerequisites
    NumResearchPrerequisites 1
    ResearchPrerequisite
        Subject "RESEARCHSUBJECT_FRIGATEACCESS_LONGRANGEPSI"
        Level 1
MinimumArtifactLevel -1
BaseUpgradeTime 75.000000
PerLevelUpgradeTime 10.000000
BaseCost
    credits 1100.000000
    metal 150.000000
    crystal 300.000000
PerLevelCostIncrease
    credits 100.000000
    metal 25.000000
    crystal 25.000000
Tier 4
onlyWorksIfTierLabsExist FALSE
MaxNumResearchLevels 1
priority 1.000000
researchBoolModifiers 0
researchFloatModifiers 0
artifactPicture ""

i've replaced the IllusionSelfCopy string and entity.manifest lines with the ChargeBeam ones

does everything look ok? i can't test it out now

thanks

 

2 Pages1 2