Difference between revisions of "User:Mehni"
Jump to navigation
Jump to search
(Blanked the page) Tag: Blanking |
(sandbox) |
||
Line 1: | Line 1: | ||
+ | {{stub}} | ||
+ | <source lang = "xml"> | ||
+ | <?xml version="1.0" encoding="utf-8" ?> | ||
+ | <Defs> | ||
+ | |||
+ | <!-- The Class="Plague.ThingDef_PlagueBullet links this XML Def to a Class. --> | ||
+ | <!-- Our class is named ThingDef_PlagueBullet, and is found in the Plague namespace." --> | ||
+ | <!-- Tags with an empty comment behind them are changed from their original values. --> | ||
+ | |||
+ | <ThingDef Class="Plague.ThingDef_PlagueBullet" ParentName="BaseBullet"> | ||
+ | <defName>TST_Bullet_PlagueGun</defName> <!-- --> | ||
+ | <label>plague bullet</label> <!-- --> | ||
+ | <graphicData> | ||
+ | <texPath>Things/Projectile/Bullet_Small</texPath> | ||
+ | <graphicClass>Graphic_Single</graphicClass> | ||
+ | </graphicData> | ||
+ | <projectile> | ||
+ | <flyOverhead>false</flyOverhead> | ||
+ | <damageDef>Bullet</damageDef> | ||
+ | <damageAmountBase>12</damageAmountBase> | ||
+ | <stoppingPower>1</stoppingPower> | ||
+ | <speed>55</speed> | ||
+ | </projectile> | ||
+ | <!-- The below three lines are added for the C# portion of the mod. --> | ||
+ | <AddHediffChance>0.05</AddHediffChance> | ||
+ | <HediffToAdd>Plague</HediffToAdd> | ||
+ | <thingClass>Plague.Projectile_PlagueBullet</thingClass> | ||
+ | </ThingDef> | ||
+ | </Defs> | ||
+ | |||
+ | <source lang="csharp"> | ||
+ | using RimWorld; | ||
+ | using Verse; | ||
+ | |||
+ | namespace Plague | ||
+ | { | ||
+ | public class ThingDef_PlagueBullet : ThingDef | ||
+ | { | ||
+ | public float AddHediffChance = 0.05f; | ||
+ | public HediffDef HediffToAdd; | ||
+ | |||
+ | public override void ResolveReferences() | ||
+ | { | ||
+ | HediffToAdd = HediffDefOf.Plague; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | |||
+ | <source lang ="csharp"> | ||
+ | using Verse; | ||
+ | using RimWorld; | ||
+ | |||
+ | namespace Plague | ||
+ | { | ||
+ | public class Projectile_PlagueBullet : Bullet | ||
+ | { | ||
+ | #region Properties | ||
+ | public ThingDef_PlagueBullet Def | ||
+ | { | ||
+ | get | ||
+ | { | ||
+ | //Case sensitive! If you use Def it will return Def, which is this getter. This will cause a never ending cycle and a stack overflow. | ||
+ | return this.def as ThingDef_PlagueBullet; | ||
+ | } | ||
+ | } | ||
+ | #endregion | ||
+ | |||
+ | #region Overrides | ||
+ | protected override void Impact(Thing hitThing) | ||
+ | { | ||
+ | /* This is a call to the Impact method of the class we're inheriting from. | ||
+ | * You can use your favourite decompiler to see what it does, but suffice to say | ||
+ | * there are useful things in there, like damaging/killing the hitThing. | ||
+ | */ | ||
+ | base.Impact(hitThing); | ||
+ | |||
+ | } | ||
+ | #endregion Overrides | ||
+ | } | ||
+ | } | ||
+ | </source> |
Revision as of 16:42, 7 February 2019
This article is a stub. You can help RimWorld Wiki by expanding it. Reason: Please add a reason . |
<?xml version="1.0" encoding="utf-8" ?> <Defs> <!-- The Class="Plague.ThingDef_PlagueBullet links this XML Def to a Class. --> <!-- Our class is named ThingDef_PlagueBullet, and is found in the Plague namespace." --> <!-- Tags with an empty comment behind them are changed from their original values. --> <ThingDef Class="Plague.ThingDef_PlagueBullet" ParentName="BaseBullet"> <defName>TST_Bullet_PlagueGun</defName> <!-- --> <label>plague bullet</label> <!-- --> <graphicData> <texPath>Things/Projectile/Bullet_Small</texPath> <graphicClass>Graphic_Single</graphicClass> </graphicData> <projectile> <flyOverhead>false</flyOverhead> <damageDef>Bullet</damageDef> <damageAmountBase>12</damageAmountBase> <stoppingPower>1</stoppingPower> <speed>55</speed> </projectile> <!-- The below three lines are added for the C# portion of the mod. --> <AddHediffChance>0.05</AddHediffChance> <HediffToAdd>Plague</HediffToAdd> <thingClass>Plague.Projectile_PlagueBullet</thingClass> </ThingDef> </Defs> <source lang="csharp"> using RimWorld; using Verse; namespace Plague { public class ThingDef_PlagueBullet : ThingDef { public float AddHediffChance = 0.05f; public HediffDef HediffToAdd; public override void ResolveReferences() { HediffToAdd = HediffDefOf.Plague; } } }
using Verse; using RimWorld; namespace Plague { public class Projectile_PlagueBullet : Bullet { #region Properties public ThingDef_PlagueBullet Def { get { //Case sensitive! If you use Def it will return Def, which is this getter. This will cause a never ending cycle and a stack overflow. return this.def as ThingDef_PlagueBullet; } } #endregion #region Overrides protected override void Impact(Thing hitThing) { /* This is a call to the Impact method of the class we're inheriting from. * You can use your favourite decompiler to see what it does, but suffice to say * there are useful things in there, like damaging/killing the hitThing. */ base.Impact(hitThing); } #endregion Overrides } }