spektral/pybattle — comment on commit 0c75d0665416573d664d26d178747615cc4911f0
File:  line 0
By spektral:

Jag tror vi snackar om samma sak fast på lite olika sätt, för övrigt härligt att ha lite diskussioner om upplägg.

Som jag tänker så ska allting struktureras upp och delas in i sina kategorier för att få objekt med tydliga ansvarsområden. Jag tror det är bäst att ha en "Warhead"-klass som är väldigt generell, och som hanterar att skada saker. Om ett fordon får någon form av härdsmälta och exploderar, så blir det rent programmatiskt att en Warhead av typen "härdsmälta" avfyras på den positionen som fordonet befinner sig på.

En lista över exempel på stridsspetsar och effekt:
Warhead - Effekt
WarheadHärdsmälta - Förintar det objekt som avfyrade vapnet, och skadar alla andra objekt inom en viss radie, med skada beroende av avstånd och hur mycket bränsle som fanns i deet avfyrande objektet.
WarheadMine - Egentligen väldigt lik härdsmälta, där det avfyrande objektet är en mina. Antagligen konstant skademängd till skillnad från "Härdsmälta".
WarheadBullet/Shell - Skadar det första objektet den träffar, minskar det avfyrande objektets ammunition med 1.

Typ något i den stilen. Dessa skapas hos servern, klienten tar emot dem, och skapar en animation på samma plats, exempelvis en explosion. Servern har ingen som helst kännedom om explosionsanimationen, för den påverkar ingenting utom vad spelaren ser. Warhead är väl egentligen det som heter Missile för oss just nu. Ett annat namn kan ju vara Projectile.

Warheads är även helt separata från Weapon, förutom att varje Weapon antagligen äger en lista av Warheads, som fylls när Weapon avfyras. Typ WeaponCannon.

Man kan också diskutera om en kula och skadan den gör är separata grejer. Då får man alltså Vapen -> Kula -> Skada. (NåntingFarligt -> Härdsmälta -> FetExplosion)