Ignore:
Timestamp:
2013-09-30 14:49:37 (6 years ago)
Author:
saolhaka
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2012/09-22/SanteriH/Kynari/Kynari/Kynari/Kynari.cs

    r4760 r4761  
    3737    string Aseet = "Kaikki aseet"; 
    3838    string PowerUpit = "Päällä"; 
     39    string Modit = "Päällä"; 
    3940    string HP = "Päällä"; 
    4041    string SailytaAse = "Kyllä"; 
     
    4849    int taso = 0; 
    4950    int powerupmaara = 0; 
     51    int modmaara = 0; 
    5052    int hpmaara = 0; 
    5153    double CURRENTHP = 100; 
     
    7476    Image miekankuva = LoadImage("miekka"); 
    7577    Image miekkahit = LoadImage("miekkaattack"); 
     78    Image miekkaswing = LoadImage("miekkaswing"); 
     79    Image miekkaswing4 = LoadImage("miekkaswing4"); 
     80    Image miekkaswingx = LoadImage("miekkaswingx"); 
    7681    Image norsu = LoadImage("norsu"); 
    7782    Image norsu2 = LoadImage("norsu2"); 
     
    183188        ruudut.SetTileMethod('m', LuoAse, new Vector(24, 24), "Miekka", miekankuva); 
    184189        ruudut.SetTileMethod('+', LuoPowerUp1, new Vector(16, 20), "Power Up", powerupinkuva); 
    185         ruudut.SetTileMethod('-', LuoUpgrade1, new Vector(16, 20), "Upgrade", sidegradekuva); 
     190        ruudut.SetTileMethod('-', LuoMod1, new Vector(16, 20), "Upgrade", sidegradekuva); 
    186191        ruudut.SetTileMethod('h', LuoHP1, new Vector(20, 21), "HP", hpkuva); 
    187192        ruudut.SetTileMethod('*', LuoHPIncrease, new Vector(20, 21), "HP Boost", hpboostkuva); 
     
    205210        ClearAll(); 
    206211        List<Vector> powerupvektorit = new List<Vector>(); 
     212        List<Vector> modvektorit = new List<Vector>(); 
    207213        List<Vector> hpvektorit = new List<Vector>(); 
    208214 
     
    219225        ruudut.SetTileMethod('c', LuoSeina); 
    220226        ruudut.SetTileMethod('+', LisaaPowerUpPaikka, powerupvektorit); 
     227        ruudut.SetTileMethod('-', LisaaModPaikka, modvektorit); 
    221228        ruudut.SetTileMethod('h', LisaaHPPaikka, hpvektorit); 
    222229        if (Aseet == "Paljon aseita" || Aseet == "Kaikki aseet") { ruudut.SetTileMethod('A', LuoAse, new Vector(39, 13), "Kivääri", kivaarinkuva); } 
     
    253260                { 
    254261                    double luku = RandomGen.NextDouble(0.0, 1.0); 
    255                     if (luku < 0.5) 
     262                    if (luku < 0.4) 
    256263                    { 
    257264                        Vector paikka = powerupvektorit[RandomGen.NextInt(0, powerupvektorit.Count)]; 
     
    266273            }; 
    267274            poweruptimer.Start(); 
     275        } 
     276 
     277        if (Modit == "Päällä" && kentta != 0) 
     278        { 
     279            Timer modtimer = new Timer(); 
     280            modtimer.Interval = 7.0; 
     281            modtimer.Timeout += delegate 
     282            { 
     283                if (modmaara < 3) 
     284                { 
     285                    double luku = RandomGen.NextDouble(0.0, 1.0); 
     286                    if (luku < 0.2) 
     287                    { 
     288                        Vector paikka = modvektorit[RandomGen.NextInt(0, modvektorit.Count)]; 
     289                        GameObject nimi = GetObjectAt(paikka, "Mod", 10); 
     290                        if (nimi == null) 
     291                        { 
     292                            modmaara += 1; 
     293                            LuoMod(paikka, new Vector(16, 20), "Mod", sidegradekuva); 
     294                        } 
     295                    } 
     296                } 
     297            }; 
     298            modtimer.Start(); 
    268299        } 
    269300 
     
    528559        ClearAll(); 
    529560        MultiSelectWindow asetukset = new MultiSelectWindow("Asetukset", "Voittoon tarvittava pistemäärä: " + PISTEMAARA_JOLLA_VOITTAA_PELIN, 
    530         "Pelaajien HP määrä: " + PHPMAARA, "Kentällä olevat aseet: " + Aseet, "Power Upit: " + PowerUpit, "HP Boostit: " + HP, "HP Boostin Määrä: " + HPBOOST, "Säilytä aseet erien välissä: " + SailytaAse, "Takaisin"); 
     561        "Pelaajien HP määrä: " + PHPMAARA, "Kentällä olevat aseet: " + Aseet, "Power Upit: " + PowerUpit, "Modit: " + Modit, "HP Boostit: " + HP, "HP Boostin Määrä: " + HPBOOST, "Säilytä aseet erien välissä: " + SailytaAse, "Takaisin"); 
    531562        asetukset.AddItemHandler(0, AsetaPistemaara); 
    532563        asetukset.AddItemHandler(1, AsetaHP); 
    533564        asetukset.AddItemHandler(2, AsetaAseet); 
    534565        asetukset.AddItemHandler(3, AsetaPowerUpit); 
    535         asetukset.AddItemHandler(4, AsetaHPBoostit); 
    536         asetukset.AddItemHandler(5, AsetaHPBoostiMaara); 
    537         asetukset.AddItemHandler(6, AsetaSailytaAse); 
    538         asetukset.AddItemHandler(7, LuoAlkuValikko); 
     566        asetukset.AddItemHandler(4, AsetaModit); 
     567        asetukset.AddItemHandler(5, AsetaHPBoostit); 
     568        asetukset.AddItemHandler(6, AsetaHPBoostiMaara); 
     569        asetukset.AddItemHandler(7, AsetaSailytaAse); 
     570        asetukset.AddItemHandler(8, LuoAlkuValikko); 
    539571 
    540572        asetukset.Color = Color.Gray; 
     
    593625        { 
    594626            SailytaAse = "Kyllä"; 
    595             LuoAsetukset(6); 
     627            LuoAsetukset(7); 
    596628            return; 
    597629        } 
     
    599631        { 
    600632            SailytaAse = "Ei"; 
    601             LuoAsetukset(6); 
     633            LuoAsetukset(7); 
    602634            return; 
    603635        } 
     
    605637        { 
    606638            SailytaAse = "Kyllä"; 
    607             LuoAsetukset(6); 
     639            LuoAsetukset(7); 
    608640        } 
    609641    } 
     
    760792    } 
    761793 
     794    void AsetaModit() 
     795    { 
     796        if (Modit == "Pois") 
     797        { 
     798            Modit = "Päällä"; 
     799            LuoAsetukset(4); 
     800            return; 
     801        } 
     802        if (Modit == "Päällä") 
     803        { 
     804            Modit = "Pois"; 
     805            LuoAsetukset(4); 
     806            return; 
     807        } 
     808        else 
     809        { 
     810            Modit = "Päällä"; 
     811            LuoAsetukset(4); 
     812        } 
     813    } 
     814 
    762815    void AsetaHPBoostiMaara() 
    763816    { 
     
    765818        { 
    766819            HPBOOST = 25; 
     820            LuoAsetukset(6); 
     821            return; 
     822        } 
     823        if (HPBOOST == 25) 
     824        { 
     825            HPBOOST = 50; 
     826            LuoAsetukset(6); 
     827            return; 
     828        } 
     829        if (HPBOOST == 50) 
     830        { 
     831            HPBOOST = 75; 
     832            LuoAsetukset(6); 
     833            return; 
     834        } 
     835        if (HPBOOST == 75) 
     836        { 
     837            HPBOOST = 100; 
     838            LuoAsetukset(6); 
     839            return; 
     840        } 
     841        if (HPBOOST == 100) 
     842        { 
     843            HPBOOST = 10; 
     844            LuoAsetukset(6); 
     845            return; 
     846        } 
     847        else 
     848        { 
     849            HPBOOST = 25; 
     850            LuoAsetukset(6); 
     851        } 
     852    } 
     853 
     854    void AsetaHPBoostit() 
     855    { 
     856        if (HP == "Pois") 
     857        { 
     858            HP = "Päällä"; 
    767859            LuoAsetukset(5); 
    768860            return; 
    769861        } 
    770         if (HPBOOST == 25) 
    771         { 
    772             HPBOOST = 50; 
     862        if (HP == "Päällä") 
     863        { 
     864            HP = "Pois"; 
    773865            LuoAsetukset(5); 
    774866            return; 
    775867        } 
    776         if (HPBOOST == 50) 
    777         { 
    778             HPBOOST = 75; 
     868        else 
     869        { 
     870            HP = "Päällä"; 
    779871            LuoAsetukset(5); 
    780             return; 
    781         } 
    782         if (HPBOOST == 75) 
    783         { 
    784             HPBOOST = 100; 
    785             LuoAsetukset(5); 
    786             return; 
    787         } 
    788         if (HPBOOST == 100) 
    789         { 
    790             HPBOOST = 10; 
    791             LuoAsetukset(5); 
    792             return; 
    793         } 
    794         else 
    795         { 
    796             HPBOOST = 25; 
    797             LuoAsetukset(5); 
    798         } 
    799     } 
    800  
    801     void AsetaHPBoostit() 
    802     { 
    803         if (HP == "Pois") 
    804         { 
    805             HP = "Päällä"; 
    806             LuoAsetukset(4); 
    807             return; 
    808         } 
    809         if (HP == "Päällä") 
    810         { 
    811             HP = "Pois"; 
    812             LuoAsetukset(4); 
    813             return; 
    814         } 
    815         else 
    816         { 
    817             HP = "Päällä"; 
    818             LuoAsetukset(4); 
    819872        } 
    820873    } 
     
    19441997    } 
    19451998 
    1946     void PistooliOsui(PhysicsObject ammus, PhysicsObject kohde) 
     1999    void LisaaDamage(PhysicsObject ammus, PhysicsObject kohde, int dmg, string ase) 
    19472000    { 
    19482001        if (AmmusVoiOsua(ammus, kohde)) 
     
    19512004            if (p.DamageResistance == true) 
    19522005            { 
    1953                 p.HPLaskuri.Value -= 7; 
     2006                if (ase == "magnum") { p.HPLaskuri.Value -= dmg * 0.75; } 
     2007                else { p.HPLaskuri.Value -= dmg * 0.5; } 
    19542008            } 
    19552009            else if (p.DamageVulnerability == true) 
    19562010            { 
    1957                 p.HPLaskuri.Value -= 22; 
     2011                if (ase == "magnum") { p.HPLaskuri.Value -= dmg * 2; } 
     2012                else { p.HPLaskuri.Value -= dmg * 1.5; } 
    19582013            } 
    19592014            else 
    19602015            { 
    1961                 p.HPLaskuri.Value -= 15; 
    1962             } 
    1963         } 
    1964     } 
    1965     void PistooliOsui2(PhysicsObject ammus, PhysicsObject kohde) 
    1966     { 
    1967         if (AmmusVoiOsua(ammus, kohde)) 
    1968         { 
    1969             Pelaaja p = (Pelaaja)kohde; 
    1970             if (p.DamageResistance == true) 
    1971             { 
    1972                 p.HPLaskuri.Value -= 12; 
    1973             } 
    1974             else if (p.DamageVulnerability == true) 
    1975             { 
    1976                 p.HPLaskuri.Value -= 37; 
    1977             } 
    1978             else 
    1979             { 
    1980                 p.HPLaskuri.Value -= 25; 
    1981             } 
    1982         } 
    1983     } 
    1984     void PistooliOsui3(PhysicsObject ammus, PhysicsObject kohde) 
    1985     { 
    1986         if (AmmusVoiOsua(ammus, kohde)) 
    1987         { 
    1988             Pelaaja p = (Pelaaja)kohde; 
    1989             if (p.DamageResistance == true) 
    1990             { 
    1991                 p.HPLaskuri.Value -= 12; 
    1992             } 
    1993             else if (p.DamageVulnerability == true) 
    1994             { 
    1995                 p.HPLaskuri.Value -= 37; 
    1996             } 
    1997             else 
    1998             { 
    1999                 p.HPLaskuri.Value -= 25; 
    2000             } 
    2001         } 
    2002     } 
    2003  
    2004     void KivaariOsui(PhysicsObject ammus, PhysicsObject kohde) 
    2005     { 
    2006         if (AmmusVoiOsua(ammus, kohde)) 
    2007         { 
    2008             Pelaaja p = (Pelaaja)kohde; 
    2009             if (p.DamageResistance == true) 
    2010             { 
    2011                 p.HPLaskuri.Value -= 5; 
    2012             } 
    2013             else if (p.DamageVulnerability == true) 
    2014             { 
    2015                 p.HPLaskuri.Value -= 15; 
    2016             } 
    2017             else 
    2018             { 
    2019                 p.HPLaskuri.Value -= 10; 
    2020             } 
    2021         } 
    2022     } 
    2023     void KivaariOsui2(PhysicsObject ammus, PhysicsObject kohde) 
    2024     { 
    2025         if (AmmusVoiOsua(ammus, kohde)) 
    2026         { 
    2027             Pelaaja p = (Pelaaja)kohde; 
    2028             if (p.DamageResistance == true) 
    2029             { 
    2030                 p.HPLaskuri.Value -= 7; 
    2031             } 
    2032             else if (p.DamageVulnerability == true) 
    2033             { 
    2034                 p.HPLaskuri.Value -= 22; 
    2035             } 
    2036             else 
    2037             { 
    2038                 p.HPLaskuri.Value -= 15; 
    2039             } 
    2040         } 
    2041     } 
    2042     void KivaariOsui3(PhysicsObject ammus, PhysicsObject kohde) 
    2043     { 
    2044         if (AmmusVoiOsua(ammus, kohde)) 
    2045         { 
    2046             Pelaaja p = (Pelaaja)kohde; 
    2047             if (p.DamageResistance == true) 
    2048             { 
    2049                 p.HPLaskuri.Value -= 10; 
    2050             } 
    2051             else if (p.DamageVulnerability == true) 
    2052             { 
    2053                 p.HPLaskuri.Value -= 30; 
    2054             } 
    2055             else 
    2056             { 
    2057                 p.HPLaskuri.Value -= 20; 
    2058             } 
    2059         } 
    2060     } 
    2061  
    2062     void SniperOsui(PhysicsObject ammus, PhysicsObject kohde) 
    2063     { 
    2064         if (AmmusVoiOsua(ammus, kohde)) 
    2065         { 
    2066             Pelaaja p = (Pelaaja)kohde; 
    2067             if (p.DamageResistance == true) 
    2068             { 
    2069                 p.HPLaskuri.Value -= 40; 
    2070             } 
    2071             else if (p.DamageVulnerability == true) 
    2072             { 
    2073                 p.HPLaskuri.Value -= 120; 
    2074             } 
    2075             else 
    2076             { 
    2077                 p.HPLaskuri.Value -= 80; 
    2078             } 
    2079         } 
    2080     } 
    2081     void SniperOsui2(PhysicsObject ammus, PhysicsObject kohde) 
    2082     { 
    2083         if (AmmusVoiOsua(ammus, kohde)) 
    2084         { 
    2085             Pelaaja p = (Pelaaja)kohde; 
    2086             if (p.DamageResistance == true) 
    2087             { 
    2088                 p.HPLaskuri.Value -= 45; 
    2089             } 
    2090             else if (p.DamageVulnerability == true) 
    2091             { 
    2092                 p.HPLaskuri.Value -= 135; 
    2093             } 
    2094             else 
    2095             { 
    2096                 p.HPLaskuri.Value -= 90; 
    2097             } 
    2098         } 
    2099     } 
    2100     void SniperOsui3(PhysicsObject ammus, PhysicsObject kohde) 
    2101     { 
    2102         if (AmmusVoiOsua(ammus, kohde)) 
    2103         { 
    2104             Pelaaja p = (Pelaaja)kohde; 
    2105             if (p.DamageResistance == true) 
    2106             { 
    2107                 p.HPLaskuri.Value -= 20; 
    2108             } 
    2109             else if (p.DamageVulnerability == true) 
    2110             { 
    2111                 p.HPLaskuri.Value -= 60; 
    2112             } 
    2113             else 
    2114             { 
    2115                 p.HPLaskuri.Value -= 40; 
    2116             } 
    2117         } 
    2118     } 
    2119     void SniperOsui4(PhysicsObject ammus, PhysicsObject kohde) 
    2120     { 
    2121         if (AmmusVoiOsua(ammus, kohde)) 
    2122         { 
    2123             Pelaaja p = (Pelaaja)kohde; 
    2124             if (p.DamageResistance == true) 
    2125             { 
    2126                 p.HPLaskuri.Value -= 37; 
    2127             } 
    2128             else if (p.DamageVulnerability == true) 
    2129             { 
    2130                 p.HPLaskuri.Value -= 112; 
    2131             } 
    2132             else 
    2133             { 
    2134                 p.HPLaskuri.Value -= 75; 
    2135             } 
    2136         } 
    2137     } 
    2138  
    2139     void MagnumOsui(PhysicsObject ammus, PhysicsObject kohde) 
    2140     { 
    2141         if (AmmusVoiOsua(ammus, kohde)) 
    2142         { 
    2143             Pelaaja p = (Pelaaja)kohde; 
    2144             if (p.DamageResistance == true) 
    2145             { 
    2146                 p.HPLaskuri.Value -= 26; 
    2147             } 
    2148             else if (p.DamageVulnerability == true) 
    2149             { 
    2150                 p.HPLaskuri.Value -= 70; 
    2151             } 
    2152             else 
    2153             { 
    2154                 p.HPLaskuri.Value -= 35; 
    2155             } 
    2156         } 
    2157     } 
    2158     void MagnumOsui2(PhysicsObject ammus, PhysicsObject kohde) 
    2159     { 
    2160         if (AmmusVoiOsua(ammus, kohde)) 
    2161         { 
    2162             Pelaaja p = (Pelaaja)kohde; 
    2163             if (p.DamageResistance == true) 
    2164             { 
    2165                 p.HPLaskuri.Value -= 30; 
    2166             } 
    2167             else if (p.DamageVulnerability == true) 
    2168             { 
    2169                 p.HPLaskuri.Value -= 80; 
    2170             } 
    2171             else 
    2172             { 
    2173                 p.HPLaskuri.Value -= 40; 
    2174             } 
    2175         } 
    2176     } 
    2177     void MagnumOsui3(PhysicsObject ammus, PhysicsObject kohde) 
    2178     { 
    2179         if (AmmusVoiOsua(ammus, kohde)) 
    2180         { 
    2181             Pelaaja p = (Pelaaja)kohde; 
    2182             if (p.DamageResistance == true) 
    2183             { 
    2184                 p.HPLaskuri.Value -= 37; 
    2185             } 
    2186             else if (p.DamageVulnerability == true) 
    2187             { 
    2188                 p.HPLaskuri.Value -= 100; 
    2189             } 
    2190             else 
    2191             { 
    2192                 p.HPLaskuri.Value -= 50; 
    2193             } 
    2194         } 
    2195     } 
    2196     void MagnumOsui4(PhysicsObject ammus, PhysicsObject kohde) 
    2197     { 
    2198         if (AmmusVoiOsua(ammus, kohde)) 
    2199         { 
    2200             Pelaaja p = (Pelaaja)kohde; 
    2201             if (p.DamageResistance == true) 
    2202             { 
    2203                 p.HPLaskuri.Value -= 75; 
    2204             } 
    2205             else if (p.DamageVulnerability == true) 
    2206             { 
    2207                 p.HPLaskuri.Value -= 200; 
    2208             } 
    2209             else 
    2210             { 
    2211                 p.HPLaskuri.Value -= 100; 
    2212             } 
    2213         } 
    2214     } 
    2215  
    2216     void HaulikkoOsui(PhysicsObject ammus, PhysicsObject kohde) 
    2217     { 
    2218         if (AmmusVoiOsua(ammus, kohde)) 
    2219         { 
    2220             Pelaaja p = (Pelaaja)kohde; 
    2221             if (p.DamageResistance == true) 
    2222             { 
    2223                 p.HPLaskuri.Value -= 6; 
    2224             } 
    2225             else if (p.DamageVulnerability == true) 
    2226             { 
    2227                 p.HPLaskuri.Value -= 19; 
    2228             } 
    2229             else 
    2230             { 
    2231                 p.HPLaskuri.Value -= 13; 
    2232             } 
    2233         } 
    2234     } 
    2235     void HaulikkoOsui2(PhysicsObject ammus, PhysicsObject kohde) 
    2236     { 
    2237         if (AmmusVoiOsua(ammus, kohde)) 
    2238         { 
    2239             Pelaaja p = (Pelaaja)kohde; 
    2240             if (p.DamageResistance == true) 
    2241             { 
    2242                 p.HPLaskuri.Value -= 7; 
    2243             } 
    2244             else if (p.DamageVulnerability == true) 
    2245             { 
    2246                 p.HPLaskuri.Value -= 22; 
    2247             } 
    2248             else 
    2249             { 
    2250                 p.HPLaskuri.Value -= 15; 
    2251             } 
    2252         } 
    2253     } 
    2254     void HaulikkoOsui3(PhysicsObject ammus, PhysicsObject kohde) 
    2255     { 
    2256         if (AmmusVoiOsua(ammus, kohde)) 
    2257         { 
    2258             Pelaaja p = (Pelaaja)kohde; 
    2259             if (p.DamageResistance == true) 
    2260             { 
    2261                 p.HPLaskuri.Value -= 7; 
    2262             } 
    2263             else if (p.DamageVulnerability == true) 
    2264             { 
    2265                 p.HPLaskuri.Value -= 22; 
    2266             } 
    2267             else 
    2268             { 
    2269                 p.HPLaskuri.Value -= 15; 
    2270             } 
    2271         } 
    2272     } 
    2273  
    2274     void MiekkaOsui(PhysicsObject ammus, PhysicsObject kohde) 
    2275     { 
    2276         if (AmmusVoiOsua(ammus, kohde)) 
    2277         { 
    2278             Pelaaja p = (Pelaaja)kohde; 
    2279             if (p.DamageResistance == true) 
    2280             { 
    2281                 p.HPLaskuri.Value -= 5; 
    2282             } 
    2283             else if (p.DamageVulnerability == true) 
    2284             { 
    2285                 p.HPLaskuri.Value -= 15; 
    2286             } 
    2287             else 
    2288             { 
    2289                 p.HPLaskuri.Value -= 10; 
     2016                p.HPLaskuri.Value -= dmg; 
    22902017            } 
    22912018        } 
     
    24462173    // Muunnetut aseet 
    24472174 
    2448     void SarjatulikivaariOsui(PhysicsObject ammus, PhysicsObject kohde) 
    2449     { 
    2450         if (AmmusVoiOsua(ammus, kohde)) 
    2451         { 
    2452             Pelaaja p = (Pelaaja)kohde; 
    2453             if (p.DamageResistance == true) 
    2454             { 
    2455                 p.HPLaskuri.Value -= 7; 
    2456             } 
    2457             else if (p.DamageVulnerability == true) 
    2458             { 
    2459                 p.HPLaskuri.Value -= 22; 
    2460             } 
    2461             else 
    2462             { 
    2463                 p.HPLaskuri.Value -= 15; 
    2464             } 
    2465         } 
    2466     } 
    2467  
    2468     void RevolveriOsui(PhysicsObject ammus, PhysicsObject kohde) 
    2469     { 
    2470         if (AmmusVoiOsua(ammus, kohde)) 
    2471         { 
    2472             Pelaaja p = (Pelaaja)kohde; 
    2473             if (p.DamageResistance == true) 
    2474             { 
    2475                 p.HPLaskuri.Value -= 30; 
    2476             } 
    2477             else if (p.DamageVulnerability == true) 
    2478             { 
    2479                 p.HPLaskuri.Value -= 80; 
    2480             } 
    2481             else 
    2482             { 
    2483                 p.HPLaskuri.Value -= 40; 
    2484             } 
    2485         } 
    2486     } 
    2487  
    2488     void KatkaistuHaulikkoOsui(PhysicsObject ammus, PhysicsObject kohde) 
    2489     { 
    2490         if (AmmusVoiOsua(ammus, kohde)) 
    2491         { 
    2492             Pelaaja p = (Pelaaja)kohde; 
    2493             if (p.DamageResistance == true) 
    2494             { 
    2495                 p.HPLaskuri.Value -= 6; 
    2496             } 
    2497             else if (p.DamageVulnerability == true) 
    2498             { 
    2499                 p.HPLaskuri.Value -= 19; 
    2500             } 
    2501             else 
    2502             { 
    2503                 p.HPLaskuri.Value -= 13; 
    2504             } 
    2505         } 
    2506     } 
    2507  
    2508     void PanssariSniperOsui(PhysicsObject ammus, PhysicsObject kohde) 
    2509     { 
    2510         if (AmmusVoiOsua(ammus, kohde)) 
    2511         { 
    2512             Pelaaja p = (Pelaaja)kohde; 
    2513             if (p.DamageResistance == true) 
    2514             { 
    2515                 p.HPLaskuri.Value -= 100; 
    2516             } 
    2517             else if (p.DamageVulnerability == true) 
    2518             { 
    2519                 p.HPLaskuri.Value -= 300; 
    2520             } 
    2521             else 
    2522             { 
    2523                 p.HPLaskuri.Value -= 200; 
    2524             } 
    2525         } 
    2526     } 
    2527  
    25282175    void SirpaleKranaattiOsui(PhysicsObject ammus, PhysicsObject kohde) 
    25292176    { 
     
    25822229            { 
    25832230                pelaaja.HPLaskuri.Value -= 50; 
    2584             } 
    2585         } 
    2586     } 
    2587  
    2588     void KonepistooliOsui(PhysicsObject ammus, PhysicsObject kohde) 
    2589     { 
    2590         if (AmmusVoiOsua(ammus, kohde)) 
    2591         { 
    2592             Pelaaja p = (Pelaaja)kohde; 
    2593             if (p.DamageResistance == true) 
    2594             { 
    2595                 p.HPLaskuri.Value -= 7; 
    2596             } 
    2597             else if (p.DamageVulnerability == true) 
    2598             { 
    2599                 p.HPLaskuri.Value -= 22; 
    2600             } 
    2601             else 
    2602             { 
    2603                 p.HPLaskuri.Value -= 15; 
    26042231            } 
    26052232        } 
     
    26372264    } 
    26382265 
    2639     void SarjatulikivaariXOsui(PhysicsObject ammus, PhysicsObject kohde) 
    2640     { 
    2641         if (AmmusVoiOsua(ammus, kohde)) 
    2642         { 
    2643             Pelaaja p = (Pelaaja)kohde; 
    2644             if (p.DamageResistance == true) 
    2645             { 
    2646                 p.HPLaskuri.Value -= 15; 
    2647             } 
    2648             else if (p.DamageVulnerability == true) 
    2649             { 
    2650                 p.HPLaskuri.Value -= 45; 
    2651             } 
    2652             else 
    2653             { 
    2654                 p.HPLaskuri.Value -= 30; 
    2655             } 
    2656         } 
    2657     } 
    2658  
    2659     void RevolveriXOsui(PhysicsObject ammus, PhysicsObject kohde) 
    2660     { 
    2661         if (AmmusVoiOsua(ammus, kohde)) 
    2662         { 
    2663             Pelaaja p = (Pelaaja)kohde; 
    2664             if (p.DamageResistance == true) 
    2665             { 
    2666                 p.HPLaskuri.Value -= 40; 
    2667             } 
    2668             else if (p.DamageVulnerability == true) 
    2669             { 
    2670                 p.HPLaskuri.Value -= 120; 
    2671             } 
    2672             else 
    2673             { 
    2674                 p.HPLaskuri.Value -= 60; 
    2675             } 
    2676         } 
    2677     } 
    2678  
    2679     void KatkaistuHaulikkoXOsui(PhysicsObject ammus, PhysicsObject kohde) 
    2680     { 
    2681         if (AmmusVoiOsua(ammus, kohde)) 
    2682         { 
    2683             Pelaaja p = (Pelaaja)kohde; 
    2684             if (p.DamageResistance == true) 
    2685             { 
    2686                 p.HPLaskuri.Value -= 7; 
    2687             } 
    2688             else if (p.DamageVulnerability == true) 
    2689             { 
    2690                 p.HPLaskuri.Value -= 22; 
    2691             } 
    2692             else 
    2693             { 
    2694                 p.HPLaskuri.Value -= 15; 
    2695             } 
    2696         } 
    2697     } 
    2698  
    2699     void PanssariSniperXOsui(PhysicsObject ammus, PhysicsObject kohde) 
    2700     { 
    2701         if (AmmusVoiOsua(ammus, kohde)) 
    2702         { 
    2703             Pelaaja p = (Pelaaja)kohde; 
    2704             if (p.DamageResistance == true) 
    2705             { 
    2706                 p.HPLaskuri.Value -= 500; 
    2707             } 
    2708             else if (p.DamageVulnerability == true) 
    2709             { 
    2710                 p.HPLaskuri.Value -= 1500; 
    2711             } 
    2712             else 
    2713             { 
    2714                 p.HPLaskuri.Value -= 1000; 
    2715             } 
    2716         } 
    2717     } 
    2718  
    27192266    void SirpaleKranaattiXOsui(PhysicsObject ammus, PhysicsObject kohde) 
    27202267    { 
     
    27732320            { 
    27742321                pelaaja.HPLaskuri.Value -= 70; 
    2775             } 
    2776         } 
    2777     } 
    2778  
    2779     void KonepistooliXOsui(PhysicsObject ammus, PhysicsObject kohde) 
    2780     { 
    2781         if (AmmusVoiOsua(ammus, kohde)) 
    2782         { 
    2783             Pelaaja p = (Pelaaja)kohde; 
    2784             if (p.DamageResistance == true) 
    2785             { 
    2786                 p.HPLaskuri.Value -= 8; 
    2787             } 
    2788             else if (p.DamageVulnerability == true) 
    2789             { 
    2790                 p.HPLaskuri.Value -= 25; 
    2791             } 
    2792             else 
    2793             { 
    2794                 p.HPLaskuri.Value -= 17; 
    27952322            } 
    27962323        } 
     
    28482375    } 
    28492376 
    2850     void LuoUpgrade1(Vector paikka, double leveys, double korkeus, Vector koko, String tagi, Image kuva) 
    2851     { 
    2852         PhysicsObject upgrade = new PhysicsObject(koko.X, koko.Y); 
    2853         upgrade.Position = paikka; 
    2854         upgrade.Tag = tagi; 
    2855         upgrade.Image = kuva; 
    2856         Add(upgrade); 
    2857         AddCollisionHandler<PhysicsObject, Pelaaja>(upgrade, "pelaaja", keraaUpgrade); 
     2377    void LuoMod(Vector paikka, Vector koko, String tagi, Image kuva) 
     2378    { 
     2379        PhysicsObject mod = new PhysicsObject(koko.X, koko.Y); 
     2380        mod.Position = paikka; 
     2381        mod.Tag = tagi; 
     2382        mod.Image = kuva; 
     2383        Add(mod); 
     2384        AddCollisionHandler<PhysicsObject, Pelaaja>(mod, "pelaaja", keraaUpgrade); 
     2385    } 
     2386 
     2387    void LuoMod1(Vector paikka, double leveys, double korkeus, Vector koko, String tagi, Image kuva) 
     2388    { 
     2389        PhysicsObject mod = new PhysicsObject(koko.X, koko.Y); 
     2390        mod.Position = paikka; 
     2391        mod.Tag = tagi; 
     2392        mod.Image = kuva; 
     2393        Add(mod); 
     2394        AddCollisionHandler<PhysicsObject, Pelaaja>(mod, "pelaaja", keraaUpgrade); 
    28582395    } 
    28592396 
     
    28612398    { 
    28622399        powerupvektorit.Add(paikka); 
     2400    } 
     2401 
     2402    void LisaaModPaikka(Vector paikka, double leveys, double korkeus, List<Vector> modvektorit) 
     2403    { 
     2404        modvektorit.Add(paikka); 
    28632405    } 
    28642406 
     
    29252467            ase = new AssaultRifle(39, 13); 
    29262468            ase.FireRate = 7; 
    2927             ase.ProjectileCollision = KivaariOsui; 
     2469            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 10, "kivaari"); }; 
    29282470            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 
    29292471            ase.Tag = "Kivääri"; 
     
    29352477            ase = new AssaultRifle(17, 12); 
    29362478            ase.FireRate = 1.2; 
    2937             ase.ProjectileCollision = MagnumOsui; 
     2479            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 35, "magnum"); }; 
    29382480            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 
    29392481            ase.Tag = "Magnum"; 
    29402482            ase.Image = magnumkuva; 
    2941  
    2942             // Paikka suhteessa pelaajaan 
    29432483            ase.X = 10; 
    29442484            ase.Y = 10; 
     
    29492489            ase = new AssaultRifle(42, 10); 
    29502490            ase.FireRate = 0.75; 
    2951             ase.ProjectileCollision = HaulikkoOsui; 
     2491            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 13, "haulikko"); }; 
    29522492            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(0.4); 
    29532493            ase.Tag = "Haulikko"; 
     
    29592499            ase = new AssaultRifle(42, 11); 
    29602500            ase.FireRate = 0.4; 
    2961             ase.ProjectileCollision = SniperOsui; 
     2501            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 80, "sniper"); }; 
    29622502            ase.Power.Value = 400; 
    29632503            ase.Power.DefaultValue = 400; 
     
    29922532            ase = new AssaultRifle(16, 11); 
    29932533            ase.FireRate = 2; 
    2994             ase.ProjectileCollision = PistooliOsui; 
     2534            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 15, "pistooli"); }; 
    29952535            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 
    29962536            ase.Tag = "Pistooli"; 
     
    30042544            ase = new AssaultRifle(39, 16); 
    30052545            ase.FireRate = 9; 
    3006             ase.ProjectileCollision = KivaariOsui2; 
     2546            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 15, "kivaari"); }; 
    30072547            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 
    30082548            ase.Tag = "Kivääri Lv. 2"; 
     
    30132553            ase = new AssaultRifle(17, 12); 
    30142554            ase.FireRate = 1.5; 
    3015             ase.ProjectileCollision = MagnumOsui2; 
     2555            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 40, "magnum"); }; 
    30162556            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 
    30172557            ase.Tag = "Magnum Lv. 2"; 
    30182558            ase.Image = magnumkuva2; 
    3019  
    3020             // Paikka suhteessa pelaajaan 
    30212559            ase.X = 10; 
    30222560            ase.Y = 10; 
     
    30272565            ase = new AssaultRifle(42, 12); 
    30282566            ase.FireRate = 1.0; 
    3029             ase.ProjectileCollision = HaulikkoOsui2; 
     2567            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 15, "haulikko"); }; 
    30302568            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(0.5); 
    30312569            ase.Tag = "Haulikko Lv. 2"; 
     
    30372575            ase = new AssaultRifle(42, 11); 
    30382576            ase.FireRate = 0.75; 
    3039             ase.ProjectileCollision = SniperOsui2; 
     2577            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 90, "sniper"); }; 
    30402578            ase.Power.Value = 400; 
    30412579            ase.Power.DefaultValue = 400; 
     
    30702608            ase = new AssaultRifle(17, 11); 
    30712609            ase.FireRate = 2; 
    3072             ase.ProjectileCollision = PistooliOsui2; 
     2610            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 25, "pistooli"); }; ; 
    30732611            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 
    30742612            ase.Tag = "Pistooli Lv. 2"; 
     
    30812619            ase = new AssaultRifle(39, 16); 
    30822620            ase.FireRate = 10; 
    3083             ase.ProjectileCollision = KivaariOsui3; 
     2621            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 20, "kivaari"); }; 
    30842622            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 
    30852623            ase.Tag = "Kivääri Lv. 3"; 
     
    30902628            ase = new AssaultRifle(17, 12); 
    30912629            ase.FireRate = 2.0; 
    3092             ase.ProjectileCollision = MagnumOsui3; 
     2630            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 50, "magnum"); }; 
    30932631            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 
    30942632            ase.Tag = "Magnum Lv. 3"; 
    30952633            ase.Image = magnumkuva3; 
    3096  
    3097             // Paikka suhteessa pelaajaan 
    30982634            ase.X = 10; 
    30992635            ase.Y = 10; 
     
    31042640            ase = new AssaultRifle(38, 12); 
    31052641            ase.FireRate = 2.0; 
    3106             ase.ProjectileCollision = HaulikkoOsui3; 
     2642            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 15, "haulikko"); }; 
    31072643            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(0.75); 
    31082644            ase.Tag = "Haulikko Lv. 3"; 
     
    31142650            ase = new AssaultRifle(45, 12); 
    31152651            ase.FireRate = 4.0; 
    3116             ase.ProjectileCollision = SniperOsui3; 
     2652            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 40, "sniper"); }; 
    31172653            ase.Power.Value = 400; 
    31182654            ase.Power.DefaultValue = 400; 
     
    31312667            ase.Image = kranaatinheittimenkuva3; 
    31322668        } 
     2669 
    31332670        if (aseenTag == "Raketinheitin Lv. 3") 
    31342671        { 
     
    31472684            ase = new AssaultRifle(20, 13); 
    31482685            ase.FireRate = 2; 
    3149             ase.ProjectileCollision = PistooliOsui3; 
     2686            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 25, "pistooli"); }; ; 
    31502687            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 
    31512688            ase.Tag = "Pistooli Lv. 3"; 
     
    31602697            ase = new AssaultRifle(39, 16); 
    31612698            ase.FireRate = 20; 
    3162             ase.ProjectileCollision = KivaariOsui3; 
     2699            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 20, "kivaari"); }; 
    31632700            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 
    31642701            ase.Tag = "Kivääri Lv. 4"; 
    31652702            ase.Image = kivaarinkuva4; 
    31662703        } 
     2704 
    31672705        if (aseenTag == "Magnum Lv. 4") 
    31682706        { 
    31692707            ase = new AssaultRifle(17, 12); 
    31702708            ase.FireRate = 2.5; 
    3171             ase.ProjectileCollision = MagnumOsui4; 
     2709            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 100, "magnum"); }; 
    31722710            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 
    31732711            ase.Tag = "Magnum Lv. 4"; 
    31742712            ase.Image = magnumkuva4; 
    3175  
    3176             // Paikka suhteessa pelaajaan 
    31772713            ase.X = 10; 
    31782714            ase.Y = 10; 
     
    31832719            ase = new AssaultRifle(38, 12); 
    31842720            ase.FireRate = 4.0; 
    3185             ase.ProjectileCollision = HaulikkoOsui3; 
     2721            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 15, "haulikko"); }; 
    31862722            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(2.0); 
    31872723            ase.Tag = "Haulikko Lv. 4"; 
     
    31932729            ase = new AssaultRifle(45, 12); 
    31942730            ase.FireRate = 5.0; 
    3195             ase.ProjectileCollision = SniperOsui4; 
     2731            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 75, "sniper"); }; 
    31962732            ase.Power.Value = 400; 
    31972733            ase.Power.DefaultValue = 400; 
     
    32262762            ase = new AssaultRifle(20, 13); 
    32272763            ase.FireRate = 4; 
    3228             ase.ProjectileCollision = PistooliOsui3; 
     2764            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 25, "pistooli"); }; ; 
    32292765            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 
    32302766            ase.Tag = "Pistooli Lv. 4"; 
     
    32342770        } 
    32352771 
    3236         //Yksinpeli aseet 
     2772        // Yksinpeli aseet 
    32372773        if (aseenTag == "Miekka") 
    32382774        { 
    32392775            ase = new AssaultRifle(24, 24); 
    3240             ase.FireRate = 1; 
    3241             ase.ProjectileCollision = MiekkaOsui; 
     2776            ase.FireRate = 2; 
     2777            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 10, "miekka"); }; 
    32422778            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(0.05); 
    32432779            ase.Tag = "Miekka"; 
     2780            ase.Image = miekankuva; 
     2781            ase.X = 10; 
     2782            ase.Y = 10; 
     2783        } 
     2784 
     2785        if (aseenTag == "Miekka Lv. 2") 
     2786        { 
     2787            ase = new AssaultRifle(24, 24); 
     2788            ase.FireRate = 2.5; 
     2789            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 20, "miekka"); }; 
     2790            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(0.05); 
     2791            ase.Tag = "Miekka Lv. 2"; 
     2792            ase.Image = miekankuva; 
     2793            ase.X = 10; 
     2794            ase.Y = 10; 
     2795        } 
     2796 
     2797        if (aseenTag == "Miekka Lv. 3") 
     2798        { 
     2799            ase = new AssaultRifle(24, 24); 
     2800            ase.FireRate = 3; 
     2801            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 40, "miekka"); }; 
     2802            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(0.05); 
     2803            ase.Tag = "Miekka Lv. 3"; 
     2804            ase.Image = miekankuva; 
     2805            ase.X = 10; 
     2806            ase.Y = 10; 
     2807        } 
     2808 
     2809        if (aseenTag == "Miekka Lv. 4") 
     2810        { 
     2811            ase = new AssaultRifle(24, 24); 
     2812            ase.FireRate = 5; 
     2813            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 100, "miekka"); }; 
     2814            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(0.05); 
     2815            ase.Tag = "Miekka Lv. 4"; 
    32442816            ase.Image = miekankuva; 
    32452817            ase.X = 10; 
     
    33092881            ase = new AssaultRifle(39, 13); 
    33102882            ase.FireRate = 4; 
    3311             ase.ProjectileCollision = SarjatulikivaariOsui; 
     2883            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 15, "kivaari"); }; 
    33122884            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 
    33132885            ase.Tag = "Sarjatulikivääri"; 
     
    33192891            ase = new AssaultRifle(17, 12); 
    33202892            ase.FireRate = 3.0; 
    3321             ase.ProjectileCollision = RevolveriOsui; 
     2893            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 40, "magnum"); }; 
    33222894            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 
    33232895            ase.Tag = "Revolveri"; 
    33242896            ase.Image = magnumkuva; 
    3325  
    3326             // Paikka suhteessa pelaajaan 
    33272897            ase.X = 10; 
    33282898            ase.Y = 10; 
     
    33332903            ase = new AssaultRifle(42, 10); 
    33342904            ase.FireRate = 1.5; 
    3335             ase.ProjectileCollision = KatkaistuHaulikkoOsui; 
     2905            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 13, "haulikko"); }; 
    33362906            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(0.4); 
    33372907            ase.Tag = "Katkaistu haulikko"; 
     
    33432913            ase = new AssaultRifle(42, 11); 
    33442914            ase.FireRate = 0.5; 
    3345             ase.ProjectileCollision = PanssariSniperOsui; 
     2915            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 200, "sniper"); }; 
    33462916            ase.Power.Value = 400; 
    33472917            ase.Power.DefaultValue = 400; 
     
    33792949            ase = new AssaultRifle(16, 11); 
    33802950            ase.FireRate = 17; 
    3381             ase.ProjectileCollision = KonepistooliOsui; 
     2951            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 15, "pistooli"); }; 
    33822952            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 
    33832953            ase.Tag = "Konepistooli"; 
     
    34052975            ase = new AssaultRifle(39, 13); 
    34062976            ase.FireRate = 6; 
    3407             ase.ProjectileCollision = SarjatulikivaariXOsui; 
     2977            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 30, "kivaari"); }; 
    34082978            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 
    34092979            ase.Tag = "Sarjatulikivääri Lv. X"; 
     
    34152985            ase = new AssaultRifle(17, 12); 
    34162986            ase.FireRate = 6; 
    3417             ase.ProjectileCollision = RevolveriXOsui; 
     2987            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 60, "magnum"); }; 
    34182988            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 
    34192989            ase.Tag = "Revolveri Lv. X"; 
    34202990            ase.Image = magnumkuva; 
    3421  
    3422             // Paikka suhteessa pelaajaan 
    34232991            ase.X = 10; 
    34242992            ase.Y = 10; 
     
    34292997            ase = new AssaultRifle(42, 10); 
    34302998            ase.FireRate = 2; 
    3431             ase.ProjectileCollision = KatkaistuHaulikkoXOsui; 
     2999            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 15, "haulikko"); }; 
    34323000            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(0.4); 
    34333001            ase.Tag = "Katkaistu haulikko Lv. X"; 
     
    34393007            ase = new AssaultRifle(42, 11); 
    34403008            ase.FireRate = 0.8; 
    3441             ase.ProjectileCollision = PanssariSniperXOsui; 
     3009            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 1000, "sniper"); }; 
    34423010            ase.Power.Value = 400; 
    34433011            ase.Power.DefaultValue = 400; 
     
    34753043            ase = new AssaultRifle(16, 11); 
    34763044            ase.FireRate = 34; 
    3477             ase.ProjectileCollision = KonepistooliXOsui; 
     3045            ase.ProjectileCollision = delegate(PhysicsObject ammus, PhysicsObject kohde) { LisaaDamage(ammus, kohde, 17, "pistooli"); }; 
    34783046            ase.MaxAmmoLifetime = TimeSpan.FromSeconds(10); 
    34793047            ase.Tag = "Konepistooli Lv. X"; 
     
    35443112                LuoAsePelaajalle("Sarjatulikivääri", pelaaja); 
    35453113                { 
    3546                     GameObject kilpi = new GameObject(50, 50, Shape.Circle); 
    3547                     kilpi.Color = new Color(Color.Red, 40); 
    3548                     pelaaja.Add(kilpi); 
    3549                     pelaaja.DamageVulnerability = true; 
    3550                     Timer.SingleShot(5.0, delegate { pelaaja.DamageVulnerability = false; pelaaja.Remove(kilpi); }); 
     3114                    LuoHeikkous(pelaaja); 
    35513115                } 
    35523116            } 
     
    36143178                LuoAsePelaajalle("Revolveri", pelaaja); 
    36153179                { 
    3616                     GameObject kilpi = new GameObject(50, 50, Shape.Circle); 
    3617                     kilpi.Color = new Color(Color.Red, 40); 
    3618                     pelaaja.Add(kilpi); 
    3619                     pelaaja.DamageVulnerability = true; 
    3620                     Timer.SingleShot(5.0, delegate { pelaaja.DamageVulnerability = false; pelaaja.Remove(kilpi); }); 
     3180                    LuoHeikkous(pelaaja); 
    36213181                } 
    36223182            } 
     
    36833243                LuoAsePelaajalle("Katkaistu haulikko", pelaaja); 
    36843244                { 
    3685                     GameObject kilpi = new GameObject(50, 50, Shape.Circle); 
    3686                     kilpi.Color = new Color(Color.Red, 40); 
    3687                     pelaaja.Add(kilpi); 
    3688                     pelaaja.DamageVulnerability = true; 
    3689                     Timer.SingleShot(5.0, delegate { pelaaja.DamageVulnerability = false; pelaaja.Remove(kilpi); }); 
     3245                    LuoHeikkous(pelaaja); 
    36903246                } 
    36913247            } 
     
    37523308                LuoAsePelaajalle("Panssari-Sniper", pelaaja); 
    37533309                { 
    3754                     GameObject kilpi = new GameObject(50, 50, Shape.Circle); 
    3755                     kilpi.Color = new Color(Color.Red, 40); 
    3756                     pelaaja.Add(kilpi); 
    3757                     pelaaja.DamageVulnerability = true; 
    3758                     Timer.SingleShot(5.0, delegate { pelaaja.DamageVulnerability = false; pelaaja.Remove(kilpi); }); 
     3310                    LuoHeikkous(pelaaja); 
    37593311                } 
    37603312            } 
     
    38213373                LuoAsePelaajalle("Sirpalekranaatinheitin", pelaaja); 
    38223374                { 
    3823                     GameObject kilpi = new GameObject(50, 50, Shape.Circle); 
    3824                     kilpi.Color = new Color(Color.Red, 40); 
    3825                     pelaaja.Add(kilpi); 
    3826                     pelaaja.DamageVulnerability = true; 
    3827                     Timer.SingleShot(5.0, delegate { pelaaja.DamageVulnerability = false; pelaaja.Remove(kilpi); }); 
     3375                    LuoHeikkous(pelaaja); 
    38283376                } 
    38293377            } 
     
    38903438                LuoAsePelaajalle("Sinko", pelaaja); 
    38913439                { 
    3892                     GameObject kilpi = new GameObject(50, 50, Shape.Circle); 
    3893                     kilpi.Color = new Color(Color.Red, 40); 
    3894                     pelaaja.Add(kilpi); 
    3895                     pelaaja.DamageVulnerability = true; 
    3896                     Timer.SingleShot(5.0, delegate { pelaaja.DamageVulnerability = false; pelaaja.Remove(kilpi); }); 
     3440                    LuoHeikkous(pelaaja); 
    38973441                } 
    38983442            } 
     
    39593503                LuoAsePelaajalle("Konepistooli", pelaaja); 
    39603504                { 
    3961                     GameObject kilpi = new GameObject(50, 50, Shape.Circle); 
    3962                     kilpi.Color = new Color(Color.Red, 40); 
    3963                     pelaaja.Add(kilpi); 
    3964                     pelaaja.DamageVulnerability = true; 
    3965                     Timer.SingleShot(5.0, delegate { pelaaja.DamageVulnerability = false; pelaaja.Remove(kilpi); }); 
     3505                    LuoHeikkous(pelaaja); 
    39663506                } 
    39673507            } 
     
    40293569                LuoAsePelaajalle("Räjähtävä valopistooli", pelaaja); 
    40303570                { 
    4031                     GameObject kilpi = new GameObject(50, 50, Shape.Circle); 
    4032                     kilpi.Color = new Color(Color.Red, 40); 
    4033                     pelaaja.Add(kilpi); 
    4034                     pelaaja.DamageVulnerability = true; 
    4035                     Timer.SingleShot(5.0, delegate { pelaaja.DamageVulnerability = false; pelaaja.Remove(kilpi); }); 
     3571                    LuoHeikkous(pelaaja); 
    40363572                } 
    40373573            } 
     
    41263662    } 
    41273663 
     3664    void LuoHeikkous(Pelaaja pelaaja) 
     3665    { 
     3666        GameObject kilpi = new GameObject(50, 50, Shape.Circle); 
     3667        kilpi.Color = new Color(Color.Red, 40); 
     3668        pelaaja.Add(kilpi); 
     3669        pelaaja.DamageVulnerability = true; 
     3670        if (pelaaja.DamageResistance == true) 
     3671        { 
     3672            kilpi.IsVisible = false; 
     3673        } 
     3674        Timer.SingleShot(5.0, delegate { pelaaja.DamageVulnerability = false; pelaaja.Remove(kilpi); }); 
     3675    } 
     3676 
    41283677    void PaivitaAse(string aseenTag, Pelaaja pelaaja) 
    41293678    { 
     
    44604009                        saaAmpua = true; 
    44614010                    }); LuoAsePelaajalle("Valopistooli Lv. 3", pelaaja); naytaTiedot(); 
     4011                } 
     4012                else 
     4013                { 
     4014                    return; 
     4015                } 
     4016            }); 
     4017        } 
     4018 
     4019        if (aseenTag == "Miekka") 
     4020        { 
     4021            LuoAsePelaajalle("Miekka Lv. 2", pelaaja); 
     4022        } 
     4023 
     4024        if (aseenTag == "Miekka Lv. 2") 
     4025        { 
     4026            LuoAsePelaajalle("Miekka Lv. 3", pelaaja); 
     4027        } 
     4028 
     4029        if (aseenTag == "Miekka Lv. 3") 
     4030        { 
     4031            LuoAsePelaajalle("Miekka Lv. 4", pelaaja); 
     4032            Timer.SingleShot(5.0, delegate 
     4033            { 
     4034                if (pelaaja.IsDestroyed == true) 
     4035                { 
     4036                    return; 
     4037                } 
     4038                string aseTag = pelaaja.Weapon.Tag.ToString(); 
     4039                if (aseTag == "Miekka Lv. 4") 
     4040                { 
     4041                    saaAmpua = false; 
     4042                    Timer.SingleShot(0.1, delegate 
     4043                    { 
     4044                        saaAmpua = true; 
     4045                    }); LuoAsePelaajalle("Miekka Lv. 3", pelaaja); naytaTiedot(); 
    44624046                } 
    44634047                else 
     
    59065490                ammus2.IgnoresCollisionResponse = true; 
    59075491                ammus2.IgnoresExplosions = true; 
    5908                 AddCollisionHandler(ammus2, HaulikkoOsui); 
     5492                AddCollisionHandler<PhysicsObject, PhysicsObject>(ammus2, delegate(PhysicsObject t, PhysicsObject p) { LisaaDamage(t, p, 13, "haulikko"); }); 
    59095493                Add(ammus2); 
    59105494            } 
     
    59265510                ammus2.IgnoresCollisionResponse = true; 
    59275511                ammus2.IgnoresExplosions = true; 
    5928                 AddCollisionHandler(ammus2, HaulikkoOsui2); 
     5512                AddCollisionHandler<PhysicsObject, PhysicsObject>(ammus2, delegate(PhysicsObject t, PhysicsObject p) { LisaaDamage(t, p, 15, "haulikko"); }); 
    59295513                Add(ammus2); 
    59305514            } 
     
    59465530                ammus2.IgnoresCollisionResponse = true; 
    59475531                ammus2.IgnoresExplosions = true; 
    5948                 AddCollisionHandler(ammus2, HaulikkoOsui3); 
     5532                AddCollisionHandler<PhysicsObject, PhysicsObject>(ammus2, delegate(PhysicsObject t, PhysicsObject p) { LisaaDamage(t, p, 15, "haulikko"); }); 
    59495533                Add(ammus2); 
    59505534            } 
     
    59665550                ammus2.IgnoresCollisionResponse = true; 
    59675551                ammus2.IgnoresExplosions = true; 
    5968                 AddCollisionHandler(ammus2, HaulikkoOsui3); 
     5552                AddCollisionHandler<PhysicsObject, PhysicsObject>(ammus2, delegate(PhysicsObject t, PhysicsObject p) { LisaaDamage(t, p, 15, "haulikko"); }); 
    59695553                Add(ammus2); 
    59705554            } 
     
    59845568            ammus2.IgnoresCollisionResponse = true; 
    59855569            ammus2.IgnoresExplosions = true; 
    5986             AddCollisionHandler(ammus2, PistooliOsui3); 
    5987             Timer.SingleShot(0.1, delegate { Add(ammus2); }); 
     5570            AddCollisionHandler<PhysicsObject, PhysicsObject>(ammus2, delegate(PhysicsObject t, PhysicsObject p) { LisaaDamage(t, p, 25, "pistooli"); }); 
     5571            Timer.SingleShot(0.1, delegate { Add(ammus2); });        
    59885572        } 
    59895573 
     
    60015585            ammus2.IgnoresCollisionResponse = true; 
    60025586            ammus2.IgnoresExplosions = true; 
    6003             AddCollisionHandler(ammus2, PistooliOsui3); 
     5587            AddCollisionHandler<PhysicsObject, PhysicsObject>(ammus2, delegate(PhysicsObject t, PhysicsObject p) { LisaaDamage(t, p, 25, "pistooli"); }); 
    60045588            Timer.SingleShot(0.05, delegate { Add(ammus2); }); 
    60055589        } 
     
    60415625            ammus.IgnoresCollisionResponse = false; 
    60425626            Timer.SingleShot(0.1, delegate { ammus.CollisionIgnorer = null; }); 
     5627        } 
     5628 
     5629        if (aseenTag.Length >= 6 && aseenTag.Substring(0, 6) == "Miekka") 
     5630        { 
     5631            ammus.IsVisible = false; 
     5632 
     5633            GameObject attack = new GameObject(9, 35, Shape.Circle); 
     5634            if (aseenTag.Length > 6 && aseenTag.Substring(aseenTag.Length - 5) == "Lv. 4") { attack.Image = miekkaswing4; } 
     5635            else { attack.Image = miekkaswing; } 
     5636            if (hahmo.FacingDirection == Direction.Right) { attack.X = 30; } 
     5637            if (hahmo.FacingDirection == Direction.Left) { attack.X = -30; } 
     5638            attack.Y = 5; 
     5639            attack.Angle = hahmo.FacingDirection.Angle; 
     5640            hahmo.Add(attack); 
     5641            Timer.SingleShot(0.1, delegate { hahmo.Remove(attack); }); 
    60435642        } 
    60445643 
     
    60585657            ammus2.IgnoresCollisionResponse = true; 
    60595658            ammus2.IgnoresExplosions = true; 
    6060             AddCollisionHandler(ammus2, SarjatulikivaariOsui); 
     5659            AddCollisionHandler<PhysicsObject, PhysicsObject>(ammus2, delegate(PhysicsObject t, PhysicsObject p) { LisaaDamage(t, p, 15, "kivaari"); }); 
    60615660 
    60625661            PhysicsObject ammus3 = new PhysicsObject(ammus.Image); 
     
    60715670            ammus3.IgnoresCollisionResponse = true; 
    60725671            ammus3.IgnoresExplosions = true; 
    6073             AddCollisionHandler(ammus3, SarjatulikivaariOsui); 
     5672            AddCollisionHandler<PhysicsObject, PhysicsObject>(ammus3, delegate(PhysicsObject t, PhysicsObject p) { LisaaDamage(t, p, 15, "kivaari"); }); 
    60745673 
    60755674            Timer.SingleShot(0.03, delegate { Add(ammus2); Timer.SingleShot(0.03, delegate { Add(ammus3); }); }); 
     
    60975696                ammus2.IgnoresCollisionResponse = true; 
    60985697                ammus2.IgnoresExplosions = true; 
    6099                 AddCollisionHandler(ammus2, KatkaistuHaulikkoOsui); 
     5698                AddCollisionHandler<PhysicsObject, PhysicsObject>(ammus2, delegate(PhysicsObject t, PhysicsObject p) { LisaaDamage(t, p, 13, "haulikko"); }); 
    61005699                Add(ammus2); 
    61015700            } 
     
    61535752            ammus2.IgnoresCollisionResponse = true; 
    61545753            ammus2.IgnoresExplosions = true; 
    6155             AddCollisionHandler(ammus2, SarjatulikivaariXOsui); 
     5754            AddCollisionHandler<PhysicsObject, PhysicsObject>(ammus2, delegate(PhysicsObject t, PhysicsObject p) { LisaaDamage(t, p, 30, "kivaari"); }); 
    61565755 
    61575756            PhysicsObject ammus3 = new PhysicsObject(ammus.Image); 
     
    61665765            ammus3.IgnoresCollisionResponse = true; 
    61675766            ammus3.IgnoresExplosions = true; 
    6168             AddCollisionHandler(ammus3, SarjatulikivaariXOsui); 
     5767            AddCollisionHandler<PhysicsObject, PhysicsObject>(ammus3, delegate(PhysicsObject t, PhysicsObject p) { LisaaDamage(t, p, 30, "kivaari"); }); 
    61695768 
    61705769            PhysicsObject ammus4 = new PhysicsObject(ammus.Image); 
     
    61795778            ammus4.IgnoresCollisionResponse = true; 
    61805779            ammus4.IgnoresExplosions = true; 
    6181             AddCollisionHandler(ammus4, SarjatulikivaariXOsui); 
     5780            AddCollisionHandler<PhysicsObject, PhysicsObject>(ammus4, delegate(PhysicsObject t, PhysicsObject p) { LisaaDamage(t, p, 30, "kivaari"); }); 
    61825781 
    61835782            Timer.SingleShot(0.02, delegate { Add(ammus2); ammus2.Hit(new Vector(0, RandomGen.NextDouble(-2, 2))); Timer.SingleShot(0.02, delegate { Add(ammus3); ammus3.Hit(new Vector(0, RandomGen.NextDouble(-2, 2))); Timer.SingleShot(0.02, delegate { Add(ammus4); ammus4.Hit(new Vector(0, RandomGen.NextDouble(-2, 2))); }); }); }); 
     
    62055804                ammus2.IgnoresCollisionResponse = true; 
    62065805                ammus2.IgnoresExplosions = true; 
    6207                 AddCollisionHandler(ammus2, KatkaistuHaulikkoXOsui); 
     5806                AddCollisionHandler<PhysicsObject, PhysicsObject>(ammus2, delegate(PhysicsObject t, PhysicsObject p) { LisaaDamage(t, p, 15, "haulikko"); }); 
    62085807                Add(ammus2); 
    62095808            } 
Note: See TracChangeset for help on using the changeset viewer.