Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- :100644 100644 1d2af8d... d636d5d... M QTfrontend/ammoSchemeModel.cpp
- :100644 100644 990b9e4... 1db8d73... M QTfrontend/gamecfgwidget.cpp
- :100644 100644 1f1eb2d... bb2951d... M QTfrontend/pages.cpp
- :100644 100644 2077d02... 0788564... M QTfrontend/pages.h
- :100644 100644 de54225... d2218fb... M hedgewars/uConsole.pas
- :100644 100644 ac1acc4... 4111c34... M hedgewars/uGears.pas
- :100644 100644 0018805... 0133f38... M hedgewars/uMisc.pas
- :100644 100644 33d3dff... 763aae5... M hedgewars/uVisualGears.pas
- diff --git QTfrontend/ammoSchemeModel.cpp QTfrontend/ammoSchemeModel.cpp
- index 1d2af8d..d636d5d 100644
- --- QTfrontend/ammoSchemeModel.cpp
- +++ QTfrontend/ammoSchemeModel.cpp
- @@ -44,6 +44,7 @@ QList<QVariant> defaultScheme = QList<QVariant>()
- << QVariant(4) // landadds 18
- << QVariant(30) // deathexplosion 19
- << QVariant(0) // waterlevel 20
- + << QVariant(1) // explosionmult 21
- ;
- AmmoSchemeModel::AmmoSchemeModel(QObject* parent, const QString & fileName) :
- @@ -81,6 +82,7 @@ AmmoSchemeModel::AmmoSchemeModel(QObject* parent, const QString & fileName) :
- << "landadds" // 18
- << "deathexplosion" // 19
- << "waterlevel" // 20
- + << "explosionmult" // 21
- ;
- QList<QVariant> proMode;
- @@ -106,6 +108,7 @@ AmmoSchemeModel::AmmoSchemeModel(QObject* parent, const QString & fileName) :
- << QVariant(4) // landadds 18
- << QVariant(30) // deathexplosion 19
- << QVariant(0) // waterlevel 20
- + << QVariant(1) // explosionmult 21
- ;
- QList<QVariant> shoppa;
- @@ -131,6 +134,7 @@ AmmoSchemeModel::AmmoSchemeModel(QObject* parent, const QString & fileName) :
- << QVariant(4) // landadds 18
- << QVariant(30) // deathexplosion 19
- << QVariant(0) // waterlevel 20
- + << QVariant(1) // explosionmult 21
- ;
- QList<QVariant> basketball;
- @@ -156,6 +160,7 @@ AmmoSchemeModel::AmmoSchemeModel(QObject* parent, const QString & fileName) :
- << QVariant(4) // landadds 18
- << QVariant(30) // deathexplosion 19
- << QVariant(0) // waterlevel 20
- + << QVariant(1) // explosionmult 21
- ;
- QList<QVariant> minefield;
- @@ -181,6 +186,7 @@ AmmoSchemeModel::AmmoSchemeModel(QObject* parent, const QString & fileName) :
- << QVariant(50) // landadds 18
- << QVariant(30) // deathexplosion 19
- << QVariant(0) // waterlevel 20
- + << QVariant(1) // explosionmult 21
- ;
- schemes.append(defaultScheme);
- diff --git QTfrontend/gamecfgwidget.cpp QTfrontend/gamecfgwidget.cpp
- index 990b9e4..1db8d73 100644
- --- QTfrontend/gamecfgwidget.cpp
- +++ QTfrontend/gamecfgwidget.cpp
- @@ -128,6 +128,7 @@ QStringList GameCFGWidget::getFullConfig() const
- sl.append("eseed " + pMapContainer->getCurrentSeed());
- sl.append(QString("e$gmflags %1").arg(getGameFlags()));
- sl.append(QString("e$damagepct %1").arg(schemeData(12).toInt()));
- + sl.append(QString("e$explosionmult %1").arg(schemeData(21).toInt()));
- sl.append(QString("e$turntime %1").arg(schemeData(13).toInt() * 1000));
- sl.append(QString("e$minestime %1").arg(schemeData(17).toInt() * 1000));
- sl.append(QString("e$landadds %1").arg(schemeData(18).toInt()));
- diff --git QTfrontend/pages.cpp QTfrontend/pages.cpp
- index 1f1eb2d..bb2951d 100644
- --- QTfrontend/pages.cpp
- +++ QTfrontend/pages.cpp
- @@ -1094,6 +1094,22 @@ PageScheme::PageScheme(QWidget* parent) :
- glBSLayout->addWidget(SB_WaterLevel,8,2,1,1);
- l = new QLabel(gbBasicSettings);
- + l->setText(QLabel::tr("Explosion Multiplier"));
- + l->setWordWrap(true);
- + glBSLayout->addWidget(l,9,0,1,1);
- + l = new QLabel(gbBasicSettings);
- + l->setFixedSize(32,32);
- + l->setPixmap(QPixmap(":/res/iconTime.png")); // TODO: icon
- + glBSLayout->addWidget(l,9,1,1,1);
- + SB_ExplosionMult = new QSpinBox(gbBasicSettings);
- + SB_ExplosionMult->setSuffix("X");
- + SB_ExplosionMult->setRange(1, 5);
- + SB_ExplosionMult->setValue(1);
- + SB_ExplosionMult->setSingleStep(1);
- +
- + glBSLayout->addWidget(SB_ExplosionMult,9,2,1,1);
- +
- + l = new QLabel(gbBasicSettings);
- l->setText(QLabel::tr("Scheme Name:"));
- LE_name = new QLineEdit(this);
- @@ -1142,6 +1158,7 @@ void PageScheme::setModel(QAbstractItemModel * model)
- mapper->addMapping(SB_Mines, 18);
- mapper->addMapping(SB_DeathExplosion, 19);
- mapper->addMapping(SB_WaterLevel, 20);
- + mapper->addMapping(SB_ExplosionMult, 21);
- mapper->toFirst();
- }
- diff --git QTfrontend/pages.h QTfrontend/pages.h
- index 2077d02..0788564 100644
- --- QTfrontend/pages.h
- +++ QTfrontend/pages.h
- @@ -438,6 +438,7 @@ private:
- QSpinBox * SB_DeathExplosion;
- QSpinBox * SB_WaterLevel;
- QSpinBox * SB_Mines;
- + QSpinBox * SB_ExplosionMult;
- QLineEdit * LE_name;
- QComboBox * selectScheme;
- diff --git hedgewars/uConsole.pas hedgewars/uConsole.pas
- index de54225..d2218fb 100644
- --- hedgewars/uConsole.pas
- +++ hedgewars/uConsole.pas
- @@ -243,6 +243,7 @@ RegisterVariable('delay' , vtLongInt, @cInactDelay , false);
- RegisterVariable('casefreq', vtLongInt, @cCaseFactor , false);
- RegisterVariable('sd_turns', vtLongInt, @cSuddenDTurns , false);
- RegisterVariable('damagepct', vtLongInt, @cDamagePercent, false);
- +RegisterVariable('explosionmult', vtLongInt, @cExplMult, false);
- RegisterVariable('landadds', vtLongInt, @cLandAdditions , false);
- RegisterVariable('gmflags' , vtLongInt, @GameFlags , false);
- RegisterVariable('turntime', vtLongInt, @cHedgehogTurnTime, false);
- diff --git hedgewars/uGears.pas hedgewars/uGears.pas
- index ac1acc4..4111c34 100644
- --- hedgewars/uGears.pas
- +++ hedgewars/uGears.pas
- @@ -1472,7 +1472,7 @@ end;
- procedure doMakeExplosion(X, Y, Radius: LongInt; Mask: LongWord);
- var Gear: PGear;
- - dmg, dmgRadius: LongInt;
- + dmg, dmgRadius, origDmg: LongInt;
- begin
- TargetPoint.X:= NoPointX;
- {$IFDEF DEBUGFILE}if Radius > 4 then AddFileLog('Explosion: at (' + inttostr(x) + ',' + inttostr(y) + ')');{$ENDIF}
- @@ -1487,11 +1487,11 @@ else
- Gear:= GearsList;
- while Gear <> nil do
- begin
- - dmg:= dmgRadius + cHHRadius div 2 - hwRound(Distance(Gear^.X - int2hwFloat(X), Gear^.Y - int2hwFloat(Y)));
- - if (dmg > 1) and
- + origDmg:= dmgRadius + cHHRadius div 2 - hwRound(Distance(Gear^.X - int2hwFloat(X), Gear^.Y - int2hwFloat(Y)));
- + if (origDmg > 1) and
- ((Gear^.State and gstNoDamage) = 0) then
- begin
- - dmg:= modifyDamage(min(dmg div 2, Radius));
- + dmg:= modifyDamage(min(origDmg div 2, Radius));
- case Gear^.Kind of
- gtHedgehog,
- gtMine,
- @@ -1509,8 +1509,8 @@ while Gear <> nil do
- if ((Mask and EXPLDoNotTouchHH) = 0) or (Gear^.Kind <> gtHedgehog) then
- begin
- DeleteCI(Gear);
- - Gear^.dX:= Gear^.dX + SignAs(_0_005 * dmg + cHHKick, Gear^.X - int2hwFloat(X));
- - Gear^.dY:= Gear^.dY + SignAs(_0_005 * dmg + cHHKick, Gear^.Y - int2hwFloat(Y));
- + Gear^.dX:= Gear^.dX + SignAs(_0_005 * origDmg + cHHKick, Gear^.X - int2hwFloat(X))*cExplMult;
- + Gear^.dY:= Gear^.dY + SignAs(_0_005 * origDmg + cHHKick, Gear^.Y - int2hwFloat(Y))*cExplMult;
- Gear^.State:= (Gear^.State or gstMoving) and (not gstLoser);
- if not Gear^.Invulnerable then
- Gear^.State:= (Gear^.State or gstMoving) and (not gstWinner);
- diff --git hedgewars/uMisc.pas hedgewars/uMisc.pas
- index 0018805..0133f38 100644
- --- hedgewars/uMisc.pas
- +++ hedgewars/uMisc.pas
- @@ -45,6 +45,7 @@ var
- TurnTimeLeft : Longword = 0;
- cSuddenDTurns : LongInt = 15;
- cDamagePercent : LongInt = 100;
- + cExplMult : Integer = 1;
- cTemplateFilter : LongInt = 0;
- cHedgehogTurnTime: Longword = 45000;
- diff --git hedgewars/uVisualGears.pas hedgewars/uVisualGears.pas
- index 33d3dff..763aae5 100644
Add Comment
Please, Sign In to add comment